Xen ARM with Virtualization Extensions/Arndale: Difference between revisions
m (typo) |
(Add steps to boot with the SD card and rework boot section) |
||
Line 28: | Line 28: | ||
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 |
== Booting Xen and Dom0 == |
||
To boot Xen and Dom0, you can use: |
|||
* PXE: it's easier for development but you need a computer which act as a server; |
|||
* copy binary on the SD card: when you don't have network on your board. |
|||
Once you have chosen the boot method, you can start follow steps in the next sections. |
|||
When you have finished to configure your board, you can: |
|||
* Save the U-Boot configuration with '''saveenv''' command. The next time you want to reboot your board, you won't have to reconfigure U-Boot. |
|||
* Boot with '''boot''' command. |
|||
=== Boot via PXE === |
=== Boot via PXE === |
||
Line 46: | Line 55: | ||
setenv bootcmd 'run boot_xen' |
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). |
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). |
||
=== Boot directly on the SD card === |
|||
* Copy xen-uImage and the zImage the root directory of you SD card. |
|||
* At U-Boot prompt, on your board, you need to set the following variable: |
|||
setenv kernel_addr_r 0x40007000 |
|||
setenv xen_addr_r 0x50000000 |
|||
setenv bootcmd_load_linux_mmc 'ext2load mmc 1:0 $kernel_addr_r /zImage' |
|||
setenv boot_xen_mmc 'run bootcmd_load_linux_mmc; ext2load mmc 1:0 $xen_addr_r /xen-uImage; bootm $xen_addr_r -' |
|||
setenv bootcmd 'run boot_xen_mmc' |
|||
We assume the SD card has only 1 partition with '''ext2''' filesystem. |
|||
* execute the boot command with the following command: |
* execute the boot command with the following command: |
||
boot |
|||
run bootcmd |
|||
== Resources == |
== Resources == |
Revision as of 17:25, 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.
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, we 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
To boot Xen and Dom0, you can use:
- PXE: it's easier for development but you need a computer which act as a server;
- copy binary on the SD card: when you don't have network on your board.
Once you have chosen the boot method, you can start follow steps in the next sections. When you have finished to configure your board, you can:
- Save the U-Boot configuration with saveenv command. The next time you want to reboot your board, you won't have to reconfigure U-Boot.
- Boot with boot command.
Boot via PXE
- Setup the 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).
Boot directly on the SD card
- Copy xen-uImage and the zImage the root directory of you SD card.
- At U-Boot prompt, on your board, you need to set the following variable:
setenv kernel_addr_r 0x40007000 setenv xen_addr_r 0x50000000 setenv bootcmd_load_linux_mmc 'ext2load mmc 1:0 $kernel_addr_r /zImage' setenv boot_xen_mmc 'run bootcmd_load_linux_mmc; ext2load mmc 1:0 $xen_addr_r /xen-uImage; bootm $xen_addr_r -' setenv bootcmd 'run boot_xen_mmc'
We assume the SD card has only 1 partition with ext2 filesystem.
- execute the boot command with the following command:
boot
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