summaryrefslogtreecommitdiffstats
path: root/recipes-extended
diff options
context:
space:
mode:
authorChristopher Clark <christopher.clark@starlab.io>2021-07-27 17:07:40 -0700
committerBruce Ashfield <bruce.ashfield@gmail.com>2021-07-29 10:55:56 -0400
commit19347a7c4e4cc3baf08923d6d42c086f170f1c63 (patch)
tree48f3bce1ba4e0fd3274b50ee9e643ecd6b42cee4 /recipes-extended
parent29796322c23ce6b425cd0adce380391b70f492df (diff)
downloadmeta-virtualization-19347a7c4e4cc3baf08923d6d42c086f170f1c63.tar.gz
qemuboot, xen-image-minimal: enable runqemu for qemuarm64 Xen images
The Xen hypervisor built for Arm 64-bit targets can be launched with runqemu by providing a Device Tree binary and configuration for Qemu, which enables interactive testing of Xen images. Add qemuboot-xen-dtb.bbclass to add a new bitbake task for generating the dtb file by using lopper on a device tree produced by Qemu. Add qemuboot-xen-defaults.bbclass to supply working default parameters for the qemuarm64 machine and general support for qemuboot for Xen, and adjust the defaults as needed to boot successfully in testing. Development aided by this script by Stewart Hildebrand of DornerWorks: https://gist.github.com/stewdk/110f43e0cc1d905fc6ed4c7e10d8d35e Signed-off-by: Christopher Clark <christopher.clark@starlab.io> Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Diffstat (limited to 'recipes-extended')
-rw-r--r--recipes-extended/images/xen-image-minimal.bb5
1 files changed, 3 insertions, 2 deletions
diff --git a/recipes-extended/images/xen-image-minimal.bb b/recipes-extended/images/xen-image-minimal.bb
index 6733801c..ca6d2683 100644
--- a/recipes-extended/images/xen-image-minimal.bb
+++ b/recipes-extended/images/xen-image-minimal.bb
@@ -31,7 +31,7 @@ XEN_PCIBACK_MODULE_x86-64 = "kernel-module-xen-pciback"
31 31
32LICENSE = "MIT" 32LICENSE = "MIT"
33 33
34inherit core-image 34inherit core-image qemuboot-xen-defaults qemuboot-xen-dtb
35 35
36do_check_xen_state() { 36do_check_xen_state() {
37 if [ "${@bb.utils.contains('DISTRO_FEATURES', 'xen', ' yes', 'no', d)}" = "no" ]; then 37 if [ "${@bb.utils.contains('DISTRO_FEATURES', 'xen', ' yes', 'no', d)}" = "no" ]; then
@@ -74,10 +74,11 @@ build_syslinux_cfg () {
74 74
75# Enable runqemu. eg: runqemu xen-image-minimal nographic slirp 75# Enable runqemu. eg: runqemu xen-image-minimal nographic slirp
76WKS_FILE_x86-64 = "directdisk-xen.wks" 76WKS_FILE_x86-64 = "directdisk-xen.wks"
77QB_MEM ?= "-m 400"
78QB_DEFAULT_KERNEL ?= "none" 77QB_DEFAULT_KERNEL ?= "none"
79QB_DEFAULT_FSTYPE ?= "wic" 78QB_DEFAULT_FSTYPE ?= "wic"
79QB_DEFAULT_FSTYPE_qemux86-64 = "wic"
80QB_FSINFO ?= "wic:kernel-in-fs" 80QB_FSINFO ?= "wic:kernel-in-fs"
81QB_SERIAL_OPT = "-serial mon:stdio"
81# qemux86-64 machine does not include 'wic' in IMAGE_FSTYPES, which is needed 82# qemux86-64 machine does not include 'wic' in IMAGE_FSTYPES, which is needed
82# to boot this image, so add it here: 83# to boot this image, so add it here:
83IMAGE_FSTYPES_qemux86-64 += "wic" 84IMAGE_FSTYPES_qemux86-64 += "wic"