-
Notifications
You must be signed in to change notification settings - Fork 4.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Release: Virtual ARM Device] Linux ARM Emulator to Build/Run .Net Core #5394
Comments
👍 |
We have attached the latest version of |
@richlander Any chance you could get this hosted? |
Awesome! |
@richlander , Can you support a hosting service for more effective communication of .net core Linux/ARM? @benpye, Yesterday, I figured out that OneDrive (~15GiB) had supported the web storage space bigger than Dropbox (~2GiB). I am thinking to move to OnDrive insted of Dropbox as workaround at next release if we cannot find any volunteers that can support mass web storage. \CC: @myungjoo |
"pbzip2" is compatible with regular "bzip2" thus the following ordinary command
can be used instead of
|
Instead, you will have slow decompression speed by using bzip2 w/o pbzip2. |
Decompression speed doesn't matter for me. Short and standard command line is preferable. I would also prefer 'xz' compression since it has much better compression rate and reduces download time. |
\CC: @benpye , @jkotas , @myungjoo , @manu-silicon , @lemmaa , @prajwal-aithal We have uploaded the updated version of the "Linux/ARM Emulator". From now on, we will upload the next version via OneDrive (~15GiB) instead of Dropbox (~2GiB).
|
I could host files on my personal server at hoult.org if it's useful. I'm using this emulator at work @b.hoult@samsung.com. I'm moving literally right now from a core2duo with 150 GB to a Xeon E3-1231 v3 (pretty much an i7 4770 I think) with 1.4 TB. I wouldn't miss 50 or 100 GB or more. |
I've mirrored the above files to http://hoult.org/coreclr/ ba4d218 http://hoult.org/coreclr/linux-arm-emulator-20160318-1530.2.pub.tar.pbz2 |
@brucehoult , Thank you for supporting the mirroring service to archive the old versions of the Linux/ARM Emulator (for evaluating .net core) |
👍 |
We have released update version of "Linux/ARM Emulator" (ver. 20160404-1330) on Apr-04-2016. \CC: @manu-silicon , @benpye , @jkotas , @myungjoo, @prajwal-aithal , @lemmaa , @brucehoult |
@leemgs do the changes in the new emulator include updating the included build of coreclr to track github? |
@brucehoult , the changes in the new emulator are included |
\CC: @hongsekim , @wateret |
Awesome work! I saw you already found hosting already. Keep going! If you need any infrastructure service that I can help like storage or CI please let me know. I can put it on our Azure account, no problem at all. |
@galvesribeiro , 👍 Thank you so much. Could you provide the your storage as another mirror service to archive old versions? |
@leemgs no problem at all. I want this ARM port going forward so I hope anybody later can get it into old armv6l devices as well. Regarding the storage, ping me later today on Gitter so I can create an storage account and give you the keys. If a linux host is also needed to build the CI just let me know there as well and we can arrange that. Good work! :) |
@galvesribeiro, Yes, I will ping you today on Gitter (dotnet/coreclr). |
We have uploaded the latest Linux/ARM Emulator (version 20160426-1600). You can check the changes from the ./doc/CHANGELOG.txt. From our experiment, the execution time of release build is faster about 3~4 times against that of debug build as following:
\CC: @manu-silicon , @benpye , @jkotas , @myungjoo, @prajwal-aithal , @lemmaa , @brucehoult , @galvesribeiro |
Mirrored, shasum b29ceab62ee0817500194bd9f084b68a51291a96 http://hoult.org/coreclr/linux-arm-emulator-20160426-1600.tar.pbz2 |
@brucehoult , Could you upload https://dncorerepo.blob.core.windows.net/armemulator/linux-arm-emulator-20160426-1600.2.tar.pbz2 into http://hoult.org/coreclr/ ? The difference is just symbolic link of libunwind.so and typo of the prompt. |
Done. http://hoult.org/coreclr/linux-arm-emulator-20160426-1600.2.tar.pbz2 That's quite a small change for 24 MB bigger. |
@leemgs could I ask you to add the following to option 3 (make_arm_build_env) in start.sh ? if ! uname -m | grep -q arm;then QEMU=qemu-arm-static; fi And then use $QEMU instead of qemu-arm-static in the chroot command. With this change, start.sh option 3 works to run the environment on real hardware such as Raspberry Pi. |
@PRAJWAL , Please, do cross-check about the additional packages to support cross compilation of CoreFX. If you are okay, I will include the additional packages into the existing linux arm emulator. |
@leemgs I can verify that the above mentioned packages can be installed in the emulator to enable cross compilation of CoreFX. |
Guys, do you still need that storage? I saw the last activity in it on Apr 24. Thanks! Keep the good work! |
@prajwal-aithal, @mkborg , The Linux/ARM Emulator ver 20160610.1 includes the packages that you wanted to append to support the compilation of the corefx.
@galvesribeiro , Yes, However, I have to upload again the files at home because of the updated firewall policy whenever I release the up-to-date Linux/ARM Emulator. @brucehoult , Please, append the latest version with
FYI, \CC: @lemmaa, @chunseoklee, @seanshpark, @mylibero, @parjong, @idkiller, @ILyoan, @watere , @sjsinju, @hongsekim, @jyoungyun, @papaslavik , @hqueue , @sam-baravy |
Ah, ok! No problem. |
@leemgs mirrored to http://hoult.org/coreclr/ Thanks for the wget'able links. It makes it so much easier than downloading on a box with a GUI at home and re-uploading at 1 MB/s. With wget directly on my server ... 50 seconds to get a 1.4 GB file. |
@brucehoult , Please, append the latest version with the wget command into your web-server.
https://dncorerepo.blob.core.windows.net/armemulator/linux-arm-emulator-20160610.2.tar.pbz2 Changelog will be available at ./doc/CHANGELOG.txt file. |
@leemgs done |
We are working on SOS-plug-in improvement and we need to rebuild lldb from sources (with our patches and with python scripting enabled). Unfortunately lldb build in emulator fails due to missing dependencies. Could you please add lldb dependencies (swig libncurses5-dev libedit-dev libxml2-dev) to emulator? |
@prajwal-aithal , Could you check the lldb issue? |
We now have enabled building and testing of coreclr and corefx on the Linux ARM Emulator. The documentation for the same can be found in coreclr (link will work after dotnet/coreclr#6249 is merged) and corefx. The build and test process has been integrated into the CI system on a per-PR basis in both coreclr and corefx projects (Debug and Release jobs). Now, we can prevent build and major test regressions from occurring by detecting the same before merging the PR. |
@galvesribeiro , Could you check the azure storage of dncorerepo id? It seems that we cannot connect to the azure storage with the existing azure name & key that was provided by you.
|
@brucehoult , Could you upload the up-to-date linux-arm-emulator binary in your server (e.g. http://hoult.org/coreclr/)?
\CC: @sjsinju |
Due to lack of recent activity, this issue has been marked as a candidate for backlog cleanup. It will be closed if no further activity occurs within 14 more days. Any new comment (by anyone, not necessarily the author) will undo this process. This process is part of our issue cleanup automation. |
Here is Linux/ARM Emulator as a virtual ARM device to help system developers that don't have any real embedded devices such as Raspberry Pi2 Board, Samsung ARM Chromebook, and Odroid (X)U3 Board. It means that you can easily build .net core source and run an executable ARM binary on the emulator.
Virtual ARM Device: Linux/ARM Emulator to build/run .Net Core
Requirements
(Required RAM Size: 2GiB+)
Major Goal
Download
https://dncorerepo.blob.core.windows.net/armemulator/linux-arm-emulator-20160610.4.tar.pbz2
https://dncorerepo.blob.core.windows.net/armemulator/linux-arm-emulator-20160610.4.tar.pbz2.md5
https://dncorerepo.blob.core.windows.net/armemulator/rootfs-u1404.20160607.ext4.tar.pbz2
https://dncorerepo.blob.core.windows.net/armemulator/rootfs-u1404.20160607.ext4.tar.pbz2.md5
http://hoult.org/coreclr/
Getting Started: "Linux/ARM Emulator"
Step 1: Decompress the compress file with
pbzip2
command for parallelism(And, the existing
bzip2
command is also compatible to decompress the file.)Step 2: Run ./start.sh (Please, refer to ./doc/README.txt for more details)
Step 3: .Net Core world!!!
Step 4: Screenshot: Execution time experiment between debug build and release build
You can see more screenshots at https://github.com/dotnet/coreclr/issues/3784
Build the latest CoreCLR/CoreFX firsthand on Ubuntu 14.04 X64
Compilation with Ubuntu/ARM rootFS for Ubuntu/ARM
instruction - https://github.com/dotnet/coreclr/tree/master/Documentation/building
sudo time ./cross/build-rootfs.sh arm
cp -arf ./cross/rootfs/arm /work/dotnet/rootfs-coreclr/
time ROOTFS_DIR=/work/dotnet/rootfs-coreclr/arm ./build.sh arm debug verbose clean cross
instruction - https://github.com/dotnet/corefx/blob/master/Documentation/building/unix-instructions.md
sudo time ./cross/build-rootfs.sh arm
cp -arf ./cross/rootfs/arm /work/dotnet/rootfs-corefx/
time ROOTFS_DIR=/work/dotnet/rootfs-corefx/arm ./build.sh native arm debug clean cross
time ./build.sh managed debug clean verbose
Compilation with Linux/ARM Emulator rootFS for Linux/ARM
cd ./linux-arm-emulator-2016****
./start.sh - select Menu '3'
source /dot/setenv/setenv_coreclr.sh
cd /nfs/coreclr/ (Please, read ./doc/NFS.txt file for details)
time ./build.sh arm-softfp cross clean verbose
sudo mount ./linux-arm-emulator/platform/rootfs-tm1.ext4 /work/dotnet/rootfs-coreclr/linux-arm-emulator
cd ./coreclr/
> vi ./cross/arm-softfp/toolchain.cmake
> vi ./cross-build-corclr-emul.sh
CoreFX (w/ native-build on Linux/ARM Emulator):
Do unit test of coreCLR on Raspberry Pi2 board
work@pi2$ cd coreclr/tests/
work@pi2$ time ./runtest.sh \
--testRootDir=/home/pi/coreclr/bin/tests/Windows_NT.x64.Debug
--testNativeBinDir=/home/pi/coreclr/bin/obj/Linux.arm.Debug/tests
--coreClrBinDir=/home/pi/coreclr/bin/Product/Linux.arm.Debug
--mscorlibDir=/home/pi/coreclr/bin/Product/Linux.arm.Debug
--coreFxBinDir=/home/pi/corefx/bin/Linux.AnyCPU.Debug
--coreFxNativeBinDir=/home/pi/corefx/bin/Linux.arm.Debug
Todo
Changelog
./doc/CHANGELOG.txt
file.End.
The text was updated successfully, but these errors were encountered: