Difference between revisions of "Xen ARM with Virtualization Extensions/Arndale"
(→Building Xen and Linux) |
(Add instruction to boot Xen via PXE) |
||
Line 27: | Line 27: | ||
Then, [[Xen_ARMv7_with_Virtualization_Extensions#Building_Xen_on_ARM|Build Xen on ARM]], with CONFIG_DTB_FILE=$linux_tree/arch/arm/boot/exynos5250-arndale.dtb passed to make. |
Then, [[Xen_ARMv7_with_Virtualization_Extensions#Building_Xen_on_ARM|Build Xen on ARM]], with CONFIG_DTB_FILE=$linux_tree/arch/arm/boot/exynos5250-arndale.dtb passed to make. |
||
+ | |||
+ | == Booting Xen and dom0 == |
||
+ | |||
+ | === Boot via PXE === |
||
+ | * Setup the [https://wiki.linaro.org/Boards/Arndale/Setup/PXEBoot wiki.linaro.org/Boards/Arndale/Setup/PXEBoot PXE server] |
||
+ | * Copy ''xen-uImage'' and the ''zImage'' (rename in ''linux-zImage'') in ''/tftpboot/'' |
||
+ | * At U-Boot prompt, on your board, you need to set the following variable: |
||
+ | setenv ipaddr 10.y.y.y |
||
+ | setenv ipconfig 10.y.y.y |
||
+ | setenv kernel_addr_r 0x40007000 |
||
+ | setenv serverip 10.x.x.x |
||
+ | setenv tftp_path '10.x.x.x:' |
||
+ | setenv usbethaddr 00:40:5c:26:0a:5b |
||
+ | setenv ethaddr 00:40:5c:26:0a:5b |
||
+ | setenv xen_addr_r 0x50000000 |
||
+ | setenv bootcmd_load_linux 'tftpboot 0x40007000 $tftp_path/linux-zImage' |
||
+ | setenv boot_xen 'run bootcmd_load_linux; tftpboot $xen_addr_r $tftp_path/xen-uImage; bootm $xen_addr_r -' |
||
+ | setenv bootcmd 'run boot_xen' |
||
+ | with '''10.y.y.y''' the ip addr of the board and '''10.x.x.x''' the ip of a tftp server (or PXE server). |
||
+ | |||
+ | * execute the boot command with the following command: |
||
+ | run bootcmd |
||
== Resources == |
== Resources == |
Revision as of 16:40, 26 March 2013
The work for Xen on the Arndale Development board is on his way. So don't expect to have a usable dom0 yet.
Contents
Preparing the board
The bootloader provided with the Arndale does not let Xen boot in hypervisor mode, so we will use the u-boot provided by Linaro.
Follow the step on the Linaro wiki, to build and install u-boot.
Building Xen and Linux
First, will build Linux for dom0, to have a device tree to provide to Xen.
You can get a tree from xenbits which is built on top of Linaro's tree [1].
Use this config file and add anything you need.
git clone git://xenbits.xen.org/people/aperard/linux-arndale.git linux cd linux wget -O .config 'http://xenbits.xen.org/gitweb/?p=people/aperard/linux-arndale.git;a=blob_plain;f=.config;hb=refs/heads/config' make uImage make dtbs
Use arch/arm/boot/exynos5250-arndale.dtb as a device tree provided to Xen at compile time.
To Build, get the source tree from the repo, which contain branches (last one is exynos5250-2013-03-22) with patches to get serial and other device working on the board.
git clone --branch exynos5250-2013-03-22 git://xenbits.xen.org/people/aperard/xen-arm.git
Then, Build Xen on ARM, with CONFIG_DTB_FILE=$linux_tree/arch/arm/boot/exynos5250-arndale.dtb passed to make.
Booting Xen and dom0
Boot via PXE
- Setup the wiki.linaro.org/Boards/Arndale/Setup/PXEBoot PXE server
- Copy xen-uImage and the zImage (rename in linux-zImage) in /tftpboot/
- At U-Boot prompt, on your board, you need to set the following variable:
setenv ipaddr 10.y.y.y setenv ipconfig 10.y.y.y setenv kernel_addr_r 0x40007000 setenv serverip 10.x.x.x setenv tftp_path '10.x.x.x:' setenv usbethaddr 00:40:5c:26:0a:5b setenv ethaddr 00:40:5c:26:0a:5b setenv xen_addr_r 0x50000000 setenv bootcmd_load_linux 'tftpboot 0x40007000 $tftp_path/linux-zImage' setenv boot_xen 'run bootcmd_load_linux; tftpboot $xen_addr_r $tftp_path/xen-uImage; bootm $xen_addr_r -' setenv bootcmd 'run boot_xen'
with 10.y.y.y the ip addr of the board and 10.x.x.x the ip of a tftp server (or PXE server).
- execute the boot command with the following command:
run bootcmd
Resources
- Information about the Arndale board development: www.arndaleboard.org/wiki/index.php/WiKi.
- Linaro page about the Arndale board: wiki.linaro.org/Boards/Arndale/Setup/PXEBoot