Difference between revisions of "Xen ARM with Virtualization Extensions/Arndale"

From Xen
(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.

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

 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