From 7f6f115d7d8467390d9bf7258cc8a5e7771528c2 Mon Sep 17 00:00:00 2001 From: Christopher Clark Date: Mon, 29 Jun 2020 18:54:44 -0700 Subject: xen: apply layer settings when xen DISTRO_FEATURE is enabled These settings are necessary for Xen and enabling them here, using the same mechanism that is used by k8s in this layer, simplifies building images for Xen. - Ensure that Xen mode is enabled in QEMU. - On ARM platforms: enable Flattened Device Tree (FDT) support. Signed-off-by: Christopher Clark Signed-off-by: Bruce Ashfield --- classes/meta-virt-xen-cfg.bbclass | 6 ++++++ conf/distro/include/meta-virt-xen.inc | 6 ++++++ conf/layer.conf | 4 +++- 3 files changed, 15 insertions(+), 1 deletion(-) create mode 100644 classes/meta-virt-xen-cfg.bbclass create mode 100644 conf/distro/include/meta-virt-xen.inc diff --git a/classes/meta-virt-xen-cfg.bbclass b/classes/meta-virt-xen-cfg.bbclass new file mode 100644 index 00000000..61b32aa3 --- /dev/null +++ b/classes/meta-virt-xen-cfg.bbclass @@ -0,0 +1,6 @@ +# We need to load the Xen meta-virt config components, only if "xen" +# is in the distro features. Since we don't know the distro flags during +# layer.conf load time, we delay using a special bbclass that simply includes +# the META_VIRT_XEN_CONFIG_PATH file. + +include ${@bb.utils.contains('DISTRO_FEATURES', 'xen', '${META_VIRT_XEN_CONFIG_PATH}', '', d)} diff --git a/conf/distro/include/meta-virt-xen.inc b/conf/distro/include/meta-virt-xen.inc new file mode 100644 index 00000000..a92b08b4 --- /dev/null +++ b/conf/distro/include/meta-virt-xen.inc @@ -0,0 +1,6 @@ +# Make sure Xen mode is enabled in qemu +PACKAGECONFIG_append_pn-qemu = " xen" + +# For builds for ARM platforms, enable fdt +PACKAGECONFIG_append_pn-qemu_arm = " fdt" +PACKAGECONFIG_append_pn-qemu_aarch64 = " fdt" diff --git a/conf/layer.conf b/conf/layer.conf index 697fb622..142621c3 100644 --- a/conf/layer.conf +++ b/conf/layer.conf @@ -43,8 +43,10 @@ INHERIT += "sanity-meta-virt" # We need to load the meta-virt config components, only if "virtualization" # is in the distro features. Since we don't know the distro flags during # layer.conf load time, we delay using a special bbclass that simply includes -# the META_VIRT_CONFIG_PATH file, and likewise for the k8s configs +# the META_VIRT_CONFIG_PATH file, and likewise for the Xen and k8s configs META_VIRT_CONFIG_PATH = "${LAYERDIR}/conf/distro/include/meta-virt-default-versions.inc" +META_VIRT_XEN_CONFIG_PATH = "${LAYERDIR}/conf/distro/include/meta-virt-xen.inc" K8S_CONFIG_PATH = "${LAYERDIR}/conf/distro/include/k8s-versions.inc" USER_CLASSES_append = " meta-virt-cfg" USER_CLASSES_append = " meta-virt-k8s-cfg" +USER_CLASSES_append = " meta-virt-xen-cfg" -- cgit v1.2.3-54-g00ecf