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

From Xen
m (Prepare Xen: apply patches from mailing list)
m (Check u-boot environment variables: complete U-Boot environment as copy&paste template)
Line 33: Line 33:
 
bootargs=console=ttySC6,38400
 
bootargs=console=ttySC6,38400
 
bootcmd=tftp 0x70007fc0 xen-uImage;tftp 0x70f00000 uImage-r8a7790-lager.dtb;tftp 0x72000000 zImage-uImage;tftp 0x74000000 xenpolicy;bootm 0x70007fc0 – 0x70f00000
 
bootcmd=tftp 0x70007fc0 xen-uImage;tftp 0x70f00000 uImage-r8a7790-lager.dtb;tftp 0x72000000 zImage-uImage;tftp 0x74000000 xenpolicy;bootm 0x70007fc0 – 0x70f00000
  +
</pre>
  +
  +
or just reset the configuration:
  +
<pre>
  +
env default -a -f
  +
env set baudrate 38400
  +
env set ethaddr 2e:09:0a:00:6d:c9
  +
env set ipaddr 192.168.0.5
  +
env set serverip 192.168.0.15
  +
env set gatewayip 192.168.0.15
  +
env set netmask 255.255.255.0
  +
env set dnsip
  +
env set dnsip2
  +
env set hostname lager
  +
env set bootargs console=ttySC6,38400
  +
env set bootcmd tftp 0x70007fc0 xen-uImage\;tftp 0x70f00000 uImage-r8a7790-lager.dtb\;tftp 0x72000000 zImage-uImage\;tftp 0x74000000 xenpolicy\;bootm 0x70007fc0 - 0x70f00000
  +
env save; reset
 
</pre>
 
</pre>
   

Revision as of 13:09, 15 October 2015

The Lager board based on Renesas R-Car H2 SoC is now supported in Xen upstream.

Prepare U-boot

Get u-boot sources

Clone sources from: git://git.denx.de/u-boot.git Checkout on commit, hash: f7ca1f7, net: sh-eth: Add cache writeback control after setting bit of DMA descriptor

Apply additional patches

Download archive with needed patches (renesas_uboot_patches.tar) from: [1]

Apply patches from renesas_uboot_patches.tar

Build u-boot

Build u-boot with "lager_xen_defconfig" configuration:

# make lager_xen_defconfig ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-
# make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-

Flash u-boot

Flash u-boot to QSPI as described in Start-Up Guide fot Renesas Lager board.

Check u-boot environment variables

bootargs=console=ttySC6,38400
bootcmd=tftp 0x70007fc0 xen-uImage;tftp 0x70f00000 uImage-r8a7790-lager.dtb;tftp 0x72000000 zImage-uImage;tftp 0x74000000 xenpolicy;bootm 0x70007fc0 – 0x70f00000

or just reset the configuration:

env default -a -f
env set baudrate 38400
env set ethaddr 2e:09:0a:00:6d:c9
env set ipaddr 192.168.0.5
env set serverip 192.168.0.15
env set gatewayip 192.168.0.15
env set netmask 255.255.255.0
env set dnsip
env set dnsip2
env set hostname lager
env set bootargs console=ttySC6,38400
env set bootcmd tftp 0x70007fc0 xen-uImage\;tftp 0x70f00000 uImage-r8a7790-lager.dtb\;tftp 0x72000000 zImage-uImage\;tftp 0x74000000 xenpolicy\;bootm 0x70007fc0 - 0x70f00000
env save; reset

where:

  • xen-uImage – Xen image
  • uImage-r8a7790-lager.dtb – device tree blob
  • zImage-uImage – Dom0 kernel image
  • xenpolicy – Xen policy binary

Prepare Xen

Get Xen source

Clone sources from upstream: git://xenbits.xen.org/xen.git Checkout on branch: stable-4.5

Apply patches from Mailing List

Three patches were posted to [xen-devel] that need to be applied. Make sure it is the most recent version posted: http://markmail.org/message/houjwx7vima3a53i


Configure Xen

# XEN_TARGET_ARCH=arm32 CROSS_COMPILE=arm-linux-gnueabihf- debug=y XSM_ENABLE=y CONFIG_EARLY_PRINTK=lager ./configure

Build Xen

Build Xen with command with earlyprintk support:

# make xen XEN_TARGET_ARCH=arm32 CROSS_COMPILE=arm-linux-gnueabihf- debug=y XSM_ENABLE=y CONFIG_EARLY_PRINTK=lager

Build Xen with command without earlyprintk support:

# make xen XEN_TARGET_ARCH=arm32 CROSS_COMPILE=arm-linux-gnueabihf- debug=y XSM_ENABLE=y

Make uImage for Xen

Make uImage for Xen with command:

# mkimage -A arm -C none -T kernel -a 0x90000000 -e 0x90000000 -n "XEN" -d xen/xen xen-uImage

Build xenpolicy

Build xenpolicy binary:

# make -C tools/flask/policy

Prepare Dom0 / Device Tree

(TBD)

Prepare other domains

(TBD)