summaryrefslogtreecommitdiffstats
path: root/external/meta-virtualization/recipes-extended/images
diff options
context:
space:
mode:
Diffstat (limited to 'external/meta-virtualization/recipes-extended/images')
-rw-r--r--external/meta-virtualization/recipes-extended/images/container-base.bb31
-rw-r--r--external/meta-virtualization/recipes-extended/images/uxen-guest-image-minimal.bb9
-rw-r--r--external/meta-virtualization/recipes-extended/images/xen-guest-image-minimal.bb2
-rw-r--r--external/meta-virtualization/recipes-extended/images/xen-image-minimal.bb23
4 files changed, 63 insertions, 2 deletions
diff --git a/external/meta-virtualization/recipes-extended/images/container-base.bb b/external/meta-virtualization/recipes-extended/images/container-base.bb
new file mode 100644
index 00000000..434239a8
--- /dev/null
+++ b/external/meta-virtualization/recipes-extended/images/container-base.bb
@@ -0,0 +1,31 @@
+#
+# Based on examples from Scott Murray (Building Container Images with
+# OpenEmbedded and the Yocto Project) ELCe 2018
+#
+SUMMARY = "Basic container image"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
+
+IMAGE_FSTYPES = "container oci"
+inherit image
+inherit image-oci
+
+IMAGE_FEATURES = ""
+IMAGE_LINGUAS = ""
+NO_RECOMMENDATIONS = "1"
+
+IMAGE_INSTALL = " \
+ base-files \
+ base-passwd \
+ netbase \
+"
+
+# Allow build with or without a specific kernel
+IMAGE_CONTAINER_NO_DUMMY = "1"
+
+# Workaround /var/volatile for now
+ROOTFS_POSTPROCESS_COMMAND += "rootfs_fixup_var_volatile ; "
+rootfs_fixup_var_volatile () {
+ install -m 1777 -d ${IMAGE_ROOTFS}/${localstatedir}/volatile/tmp
+ install -m 755 -d ${IMAGE_ROOTFS}/${localstatedir}/volatile/log
+}
diff --git a/external/meta-virtualization/recipes-extended/images/uxen-guest-image-minimal.bb b/external/meta-virtualization/recipes-extended/images/uxen-guest-image-minimal.bb
new file mode 100644
index 00000000..d37a95b7
--- /dev/null
+++ b/external/meta-virtualization/recipes-extended/images/uxen-guest-image-minimal.bb
@@ -0,0 +1,9 @@
+DESCRIPTION = "A Linux guest image for the uXen type-2 hypervisor."
+LICENSE = "MIT"
+
+inherit core-image
+
+IMAGE_INSTALL += " \
+ packagegroup-core-boot \
+ uxen-guest-tools \
+ "
diff --git a/external/meta-virtualization/recipes-extended/images/xen-guest-image-minimal.bb b/external/meta-virtualization/recipes-extended/images/xen-guest-image-minimal.bb
index d311eaef..63c7510d 100644
--- a/external/meta-virtualization/recipes-extended/images/xen-guest-image-minimal.bb
+++ b/external/meta-virtualization/recipes-extended/images/xen-guest-image-minimal.bb
@@ -1,6 +1,6 @@
DESCRIPTION = "A Xen guest image."
-inherit core-image distro_features_check
+inherit core-image features_check
IMAGE_INSTALL += " \
packagegroup-core-boot \
diff --git a/external/meta-virtualization/recipes-extended/images/xen-image-minimal.bb b/external/meta-virtualization/recipes-extended/images/xen-image-minimal.bb
index c39d3782..c965f221 100644
--- a/external/meta-virtualization/recipes-extended/images/xen-image-minimal.bb
+++ b/external/meta-virtualization/recipes-extended/images/xen-image-minimal.bb
@@ -12,10 +12,18 @@ IMAGE_INSTALL += " \
kernel-module-xen-netback \
${@bb.utils.contains('MACHINE_FEATURES', 'pci', "${XEN_PCIBACK_MODULE}", '', d)} \
kernel-module-xen-wdt \
- xen-base \
+ xen-tools \
qemu \
"
+# The hypervisor may not be within the dom0 filesystem image but at least
+# ensure that it is deployable:
+do_build[depends] += "xen:do_deploy"
+
+# Networking for HVM-mode guests (x86/64 only) requires the tun kernel module
+IMAGE_INSTALL_append_x86 = "kernel-module-tun"
+IMAGE_INSTALL_append_x86-64 = "kernel-module-tun"
+
# Linux kernel option CONFIG_XEN_PCIDEV_BACKEND depends on X86
XEN_PCIBACK_MODULE = ""
XEN_PCIBACK_MODULE_x86 = "kernel-module-xen-pciback"
@@ -64,3 +72,16 @@ build_syslinux_cfg () {
echo " APPEND /xen.gz ${SYSLINUX_XEN_ARGS} --- /vmlinuz ${SYSLINUX_KERNEL_ARGS} --- /initrd" >> ${SYSLINUX_CFG}
}
+# Enable runqemu. eg: runqemu xen-image-minimal nographic slirp
+WKS_FILE_x86-64 = "directdisk-xen.wks"
+QB_MEM = "-m 400"
+QB_DEFAULT_KERNEL = ""
+QB_DEFAULT_FSTYPE = "wic"
+QB_FSINFO = "wic:kernel-in-fs"
+# qemux86-64 machine does not include 'wic' in IMAGE_FSTYPES, which is needed
+# to boot this image, so add it here:
+IMAGE_FSTYPES_qemux86-64 += "wic"
+# Networking: the qemuboot.bbclass default virtio network device works ok
+# and so does the emulated e1000 -- choose according to the network device
+# drivers that are present in your dom0 Linux kernel. To switch to e1000:
+# QB_NETWORK_DEVICE = "-device e1000,netdev=net0,mac=@MAC@"