]> rtime.felk.cvut.cz Git - jailhouse.git/commitdiff
README: Add information about Banana Pi setup
authorJan Kiszka <jan.kiszka@siemens.com>
Fri, 2 Jan 2015 16:14:21 +0000 (17:14 +0100)
committerJan Kiszka <jan.kiszka@siemens.com>
Thu, 8 Jan 2015 16:45:13 +0000 (17:45 +0100)
Describe how to set up and run Jailhouse with inmates on the Banana Pi
board. This is currently our physical reference for ARM systems.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
README.md

index 1da2e03f42f1734c367a5158a4b5f07b2c44ead6..169638bf60a0679b3481ee6f6bcf5c5825f3170b 100644 (file)
--- a/README.md
+++ b/README.md
@@ -215,3 +215,47 @@ Finally, Jailhouse is can be stopped completely again:
 
 All non-Linux cells running at that point will be destroyed, and resources
 will be returned to Linux.
+
+
+Setup on Banana Pi ARM board
+----------------------------
+
+The Banana Pi is a cheap Raspberry-Pi-like ARM board with an Allwinner A20 SoC
+(dual-core Cortex-A7). It runs mainline Linux kernels and U-Boot and is
+comparably well hackable. Further information can be found on
+http://linux-sunxi.org.
+
+For Jailhouse, U-Boot currently requires a few additional patches that can be
+retrieved from https://github.com/siemens/u-boot/commits/sunxi.
+
+The Linux kernel version should be at least 3.19-rcX. The configuration used
+for continuous integration builds can serve as reference, see
+`ci/kernel-config-banana-pi`. The kernel has to be booted with the following
+additional parameters, e.g. by adjusting the U-Boot environment accordingly:
+
+    mem=958M vmalloc=512M
+
+The recommended cross-toolchain is available from Linaro, see
+http://www.linaro.org/downloads.
+
+Before building Jailhouse, copy the configuration header file
+`ci/jailhouse-config-banana-pi.h` to `hypervisor/include/jailhouse/config.h`.
+Then run make:
+
+    make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- \
+         KDIR=/path/to/arm-kernel/objects
+
+Binaries can be installed directly to the target root file system if it is
+mounted on the host:
+
+    make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- \
+         KDIR=/path/to/arm-kernel/objects DESTDIR=/mount-point install
+
+Cell configurations and demo inmates will not be installed this way and have to
+be transferred manually as needed. Make sure you have `configs/bananapi.cell`
+and, as desired, the inmates configs (`configs/bananapi-*.cell`) and binaries
+(`inmates/demos/arm/*.bin`) available on the target.
+
+Jailhouse and inmates are started on ARM just like on x86. The only difference
+is that inmates have to be loaded at offset 0. Just leave out the `-a`
+parameter when invoking `jailhouse cell load`.