summaryrefslogtreecommitdiff
path: root/Documentation
diff options
context:
space:
mode:
authorjashook <jashoo@microsoft.com>2017-09-22 09:02:38 -0700
committerjashook <jashoo@microsoft.com>2017-10-25 10:48:23 -0700
commit4b82e1e4b65b8e3c89888c2b6e7eba3b67474794 (patch)
treee445649f2f4745f8c7cc80b6635366ba2af016a6 /Documentation
parent48c1ec9fa89ad49eb205fb7da6aff278f36e35c1 (diff)
downloadcoreclr-4b82e1e4b65b8e3c89888c2b6e7eba3b67474794.tar.gz
coreclr-4b82e1e4b65b8e3c89888c2b6e7eba3b67474794.tar.bz2
coreclr-4b82e1e4b65b8e3c89888c2b6e7eba3b67474794.zip
Add multiarch arm64(32) Documentation
Helps setup running armhf code on an arm64 kernal.
Diffstat (limited to 'Documentation')
-rw-r--r--Documentation/building/unix-test-instructions.md40
1 files changed, 40 insertions, 0 deletions
diff --git a/Documentation/building/unix-test-instructions.md b/Documentation/building/unix-test-instructions.md
index a6dd77afa7..60f324ea9b 100644
--- a/Documentation/building/unix-test-instructions.md
+++ b/Documentation/building/unix-test-instructions.md
@@ -40,6 +40,46 @@ Or
>`coreclr/Tools/dotnetcli/dotnet coreclr/Tools/MSBuild.dll /maxcpucount coreclr/tests/src/JIT/CodeGenBringUpTests/Array1.csproj /p:__BuildType=Release /p:__BuildOS=OSX`
+**Aarch64/armhf multiarch**
+
+For machines that have aarch64/armhf support, all the armhf packages will need to also be downloaded. Please note you will need to enable multiplatform support as well. Check with your distro provider or kernel options to see if this is supported. For simplicity, these instructions relate to aarch64 ubuntu enabling arm32 (hf) coreclr runs.
+
+Please make sure your device is running a 64 bit aarch64 kernel.
+
+```
+# Example output
+
+[ubuntu:~]: uname -a
+Linux tegra-ubuntu 4.4.38-tegra #1 SMP PREEMPT Thu Jul 20 00:41:06 PDT 2017 aarch64 aarch64 aarch64 GNU/Linux
+
+```
+
+```
+# Enable armhf multiplatform support
+[ubuntu:~]: sudo dpkg --add-architecture armhf
+[ubuntu:~]: sudo apt-get update
+
+[ubuntu:~]: sudo apt-get install libstdc++6:armhf
+````
+
+At this point you should be able to run a 32bit corerun. You can verify this by downloading and running a recently built arm32 coreclr.
+
+```
+[ubuntu:~]: wget https://ci.dot.net/job/dotnet_coreclr/job/master/job/armlb_cross_checked_ubuntu/lastSuccessfulBuild/artifact/*zip*/archive.zip --no-check-certificate
+[ubuntu:~]: unzip archive.zip
+[ubuntu:~]: chmod +x && ./archive/bin/Product/Linux.arm.Checked/corerun
+Execute the specified managed assembly with the passed in arguments
+
+Options:
+-c, --clr-path path to the libcoreclr.so and the managed CLR assemblies
+```
+
+Now download the coreclr armhf dependencies.
+
+```
+sudo apt-get install libunwind8:armhf libunwind8-dev:armhf libicu-dev:armhf liblttng-ust-dev:armhf libcurl4-openssl-dev:armhf libicu-dev:armhf libssl-dev uuid-dev:armhf libkrb5-dev:armhf
+```
+
**Running tests**
The following instructions assume that on the Unix machine: