{"action":"created","issue":{"url":"https://api.github.com/repos/dotnet/coreclr/issues/3805","repository_url":"https://api.github.com/repos/dotnet/coreclr","labels_url":"https://api.github.com/repos/dotnet/coreclr/issues/3805/labels{/name}","comments_url":"https://api.github.com/repos/dotnet/coreclr/issues/3805/comments","events_url":"https://api.github.com/repos/dotnet/coreclr/issues/3805/events","html_url":"https://github.com/dotnet/coreclr/issues/3805","id":141789767,"number":3805,"title":"[Release: Virtual ARM Device] Linux/ARM Emulator to Build/Run .Net Core","user":{"login":"leemgs","id":82404,"avatar_url":"https://avatars.githubusercontent.com/u/82404?v=3","gravatar_id":"","url":"https://api.github.com/users/leemgs","html_url":"https://github.com/leemgs","followers_url":"https://api.github.com/users/leemgs/followers","following_url":"https://api.github.com/users/leemgs/following{/other_user}","gists_url":"https://api.github.com/users/leemgs/gists{/gist_id}","starred_url":"https://api.github.com/users/leemgs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/leemgs/subscriptions","organizations_url":"https://api.github.com/users/leemgs/orgs","repos_url":"https://api.github.com/users/leemgs/repos","events_url":"https://api.github.com/users/leemgs/events{/privacy}","received_events_url":"https://api.github.com/users/leemgs/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/dotnet/coreclr/labels/ARM","name":"ARM","color":"fbca04"}],"state":"open","locked":false,"assignee":{"login":"mmitche","id":8725170,"avatar_url":"https://avatars.githubusercontent.com/u/8725170?v=3","gravatar_id":"","url":"https://api.github.com/users/mmitche","html_url":"https://github.com/mmitche","followers_url":"https://api.github.com/users/mmitche/followers","following_url":"https://api.github.com/users/mmitche/following{/other_user}","gists_url":"https://api.github.com/users/mmitche/gists{/gist_id}","starred_url":"https://api.github.com/users/mmitche/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mmitche/subscriptions","organizations_url":"https://api.github.com/users/mmitche/orgs","repos_url":"https://api.github.com/users/mmitche/repos","events_url":"https://api.github.com/users/mmitche/events{/privacy}","received_events_url":"https://api.github.com/users/mmitche/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/dotnet/coreclr/milestones/5","html_url":"https://github.com/dotnet/coreclr/milestones/Future","labels_url":"https://api.github.com/repos/dotnet/coreclr/milestones/5/labels","id":1328081,"number":5,"title":"Future","description":"Milestone tracking the issues that have been triaged for after 1.0.0-rtm","creator":{"login":"joshfree","id":1302850,"avatar_url":"https://avatars.githubusercontent.com/u/1302850?v=3","gravatar_id":"","url":"https://api.github.com/users/joshfree","html_url":"https://github.com/joshfree","followers_url":"https://api.github.com/users/joshfree/followers","following_url":"https://api.github.com/users/joshfree/following{/other_user}","gists_url":"https://api.github.com/users/joshfree/gists{/gist_id}","starred_url":"https://api.github.com/users/joshfree/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/joshfree/subscriptions","organizations_url":"https://api.github.com/users/joshfree/orgs","repos_url":"https://api.github.com/users/joshfree/repos","events_url":"https://api.github.com/users/joshfree/events{/privacy}","received_events_url":"https://api.github.com/users/joshfree/received_events","type":"User","site_admin":false},"open_issues":493,"closed_issues":168,"state":"open","created_at":"2015-09-29T00:26:07Z","updated_at":"2016-05-22T13:45:15Z","due_on":null,"closed_at":null},"comments":40,"created_at":"2016-03-18T06:51:31Z","updated_at":"2016-05-23T09:03:19Z","closed_at":null,"body":"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. \r\n\r\n### Virtual ARM Device: Linux/ARM Emulator to build/run .Net Core\r\n * **Note**: We will continually update this webpage to share changed contents whenever you upload the latest version.  (This webpage is last modified on Apr-28-2016 by Geunsik Lim.)\r\n\r\n#### Requirements\r\n1. Host OS: Ubuntu 14.04 LTS X64 PC\r\n     (Required RAM Size: 2GiB+)\r\n2. Target Architecture: ARMV7LE \r\n\r\n#### Major Goal\r\n1. To enable Linux/ARM Continuous Integration (**CI**) based on QEMU/chroot\r\n2. To **build & run**  dotnet core components (e.g, coreclr and corefx) like sandbox\r\n3. To provide the system developers (that don't have embedded boards) with **Virtual ARM Device** \r\n\r\n#### Download\r\n\r\n- Download the latest version **20160426-1600.4** of Linux/ARM Emulator:\r\nhttps://onedrive.live.com/redir?resid=C93799B86B006829!192&authkey=!AOqJqWXschsBagI&ithint=file%2cpbz2\r\n\r\n- Archive for keeping the older versions (Thanks to Bruce Hoult)\r\n http://hoult.org/coreclr/\r\n\r\n\r\n#### Getting Started: \"Linux/ARM Emulator\"\r\n**Step 1**:  Decompress the compress file with `pbzip2` command  for parallelism\r\n             (And, the existing `bzip2` command is also compatible to decompress the file.)\r\n```\r\n   u1404$leemgs> sudo apt-get install pbzip2 \r\n   u1404$leemgs> sudo ln -s /usr/bin/pbzip2 /usr/bin/pbunzip2\r\n   u1404$leemgs> sudo time tar --use-compress-prog=pbunzip2 -xvf ./linux-arm-emulator-2016****.tar.pbz2\r\n```\r\n\r\n**Step 2**:  Run **./start.sh**  (Please, refer  to ./doc/README.txt for more details)\r\n\r\n**Step 3**:  .Net Core world!!!\r\n```\r\n   arm@emul#>  cd /dotnet/runtime-hardfp-debug-mode-***\r\n   arm@emul#> time ./corerun -c ./  /dotnet/example/hello.exe\r\n   arm@emul#> time ./corerun -c ./  /dotnet/example/MS****/Hello.exe linux\r\n   arm@emul#> time ./corerun -c ./  /dotnet/example/MS****/Hello.exe freebsd\r\n   arm@emul#> time ./corerun -c ./  /dotnet/example/MS****/Hello.exe mac\r\n   arm@emul#> time ./corerun -c ./  /dotnet/example/FloatTest.exe\r\n```\r\n\r\n**Step 4**: Screenshot: Execution comparison between debug build and release build\r\nYou can see more screenshots at https://github.com/dotnet/coreclr/issues/3784\r\n\r\n![linux-arm-emulator-20160426-1600 4](https://cloud.githubusercontent.com/assets/82404/15462835/4231b154-2100-11e6-8e9c-62df3e5c7416.jpg)\r\n\r\n\r\n![emulator-test-debug-and-release](https://cloud.githubusercontent.com/assets/82404/14813126/41d45002-0bdb-11e6-8836-4877cde7330d.jpg)\r\n\r\n![emulator-ncurse-hello-debug-and-release](https://cloud.githubusercontent.com/assets/82404/14813327/4529024c-0bdc-11e6-8433-bbfc1df2ffe9.jpg)\r\n\r\n\r\n#### Build the latest CoreCLR/CoreFX firsthand on Ubuntu 14.04 X64\r\n\r\n###### Compilation with Ubuntu/ARM rootFS for Ubuntu/ARM\r\n * CoreCLR (w/ cross-build on Ubuntu 14.04 X64): \r\ninstruction - https://github.com/dotnet/coreclr/tree/master/Documentation/building\r\nsudo time ./cross/build-rootfs.sh arm\r\ncp -arf  ./cross/rootfs/arm /work/dotnet/rootfs-coreclr/\r\ntime ROOTFS_DIR=/work/dotnet/rootfs-coreclr/arm  ./build.sh arm debug verbose clean cross\r\n\r\n * CoreFX (w/ cross-build on Ubuntu 14.04 X64):\r\ninstruction - https://github.com/dotnet/corefx/blob/master/Documentation/building/unix-instructions.md\r\nsudo time ./cross/build-rootfs.sh arm\r\ncp -arf  ./cross/rootfs/arm /work/dotnet/rootfs-corefx/\r\ntime ROOTFS_DIR=/work/dotnet/rootfs-corefx/arm  ./build.sh native arm debug  clean cross \r\ntime ./build.sh managed debug clean verbose\r\n\r\n###### Compilation with Linux/ARM Emulator rootFS for Linux/ARM  \r\n * CoreCLR (w/ native-build on Linux/ARM Emulator):\r\ncd ./linux-arm-emulator-2016****\r\n./start.sh - select Menu '3'\r\nsource /dot/setenv/setenv_coreclr.sh\r\ncd /nfs/coreclr/ (Please, read ./doc/NFS.txt file for details)\r\ntime ./build.sh arm-softfp clean verbose\r\n\r\n * CoreCLR (w/ cross-build on Ubuntu 14.04 X64):\r\nsudo mount ./linux-arm-emulator/platform/rootfs-tm1.ext4 /mnt/linux-arm-emulator/platform/my\r\n#> vi ./cross-build-corclr-emul.sh\r\n```\r\n------------- coreclr cross-build: start ----------------------------\r\n#!/usr/bin/env bash\r\nchroot=\"/mnt/linux-arm-emulator/platform/my\"\r\n\r\nsudo ROOTFS_DIR=${chroot}/ CPLUS_INCLUDE_PATH=\"$chroot/usr/lib/gcc/armv7l-tizen-linux-gnueabi/4.9.2/include/c++/:$chroot/usr/lib/gcc/armv7l-tizen-linux-gnueabi/4.9.2/include/c++/armv7l-tizen-linux-gnueabi/:$chroot/usr/include/llvm/:$chroot/usr/include/llvm-c/:$chroot/usr/local/include\" CXXFLAGS=\"-Wno-deprecated-declarations\" ./build.sh arm-softfp  clean verbose cross\r\n\r\n------------- coreclr cross-build: end ----------------------------\r\n```\r\n\r\n * CoreFX (w/ native-build on Linux/ARM Emulator):\r\n\r\n          **In Progress!!!**\r\n\r\n####  Do unit test of coreCLR on Raspberry Pi2 board\r\nwork@pi2$ cd coreclr/tests/\r\nwork@pi2$ time ./runtest.sh \\  \r\n--testRootDir=/home/pi/coreclr/bin/tests/Windows_NT.x64.Debug \\\r\n--testNativeBinDir=/home/pi/coreclr/bin/obj/Linux.arm.Debug/tests \\\r\n--coreClrBinDir=/home/pi/coreclr/bin/Product/Linux.arm.Debug \\\r\n--mscorlibDir=/home/pi/coreclr/bin/Product/Linux.arm.Debug \\\r\n--coreFxBinDir=/home/pi/corefx/bin/Linux.AnyCPU.Debug \\\r\n--coreFxNativeBinDir=/home/pi/corefx/bin/Linux.arm.Debug\r\n\r\n#### Todo\r\n1. Stabilize the file system consistency of guestOS\r\n2. Support SSHFS\r\n3. Completely separated a floating point (e.g., softfp and hard-fp) infrastructure\r\n\r\n\r\n#### Changelog\r\n * Refer to the `./doc/CHANGELOG.txt` file.\r\n\r\nEnd. "},"comment":{"url":"https://api.github.com/repos/dotnet/coreclr/issues/comments/220925396","html_url":"https://github.com/dotnet/coreclr/issues/3805#issuecomment-220925396","issue_url":"https://api.github.com/repos/dotnet/coreclr/issues/3805","id":220925396,"user":{"login":"brucehoult","id":851040,"avatar_url":"https://avatars.githubusercontent.com/u/851040?v=3","gravatar_id":"","url":"https://api.github.com/users/brucehoult","html_url":"https://github.com/brucehoult","followers_url":"https://api.github.com/users/brucehoult/followers","following_url":"https://api.github.com/users/brucehoult/following{/other_user}","gists_url":"https://api.github.com/users/brucehoult/gists{/gist_id}","starred_url":"https://api.github.com/users/brucehoult/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/brucehoult/subscriptions","organizations_url":"https://api.github.com/users/brucehoult/orgs","repos_url":"https://api.github.com/users/brucehoult/repos","events_url":"https://api.github.com/users/brucehoult/events{/privacy}","received_events_url":"https://api.github.com/users/brucehoult/received_events","type":"User","site_admin":false},"created_at":"2016-05-23T09:03:19Z","updated_at":"2016-05-23T09:03:19Z","body":"@leemgs this URL does not seem to work for me. Also, can you give one like previous that I can wget direct to my server in hosting center, not download to PC and then upload again?"}}
{"actor":{"display_login":"brucehoult"}}