diff options
| author | Bruce Ashfield <bruce.ashfield@gmail.com> | 2026-01-06 20:40:54 +0000 |
|---|---|---|
| committer | Bruce Ashfield <bruce.ashfield@gmail.com> | 2026-02-09 03:32:52 +0000 |
| commit | 4baa3503321fb2ad9edfebc5e89bcd37115e626e (patch) | |
| tree | eb0987b7ff16c9861a5c78fdc3f978b718668e2f | |
| parent | f73b6076fc5c1e1800877a90799dcdde9c4c5102 (diff) | |
| download | meta-virtualization-4baa3503321fb2ad9edfebc5e89bcd37115e626e.tar.gz | |
vcontainer: add vruntime distro and multiconfigs
Add minimal vruntime distro for building QEMU blob images:
- conf/distro/vruntime.conf: Minimal distro with vcontainer features
- conf/multiconfig/vruntime-aarch64.conf: aarch64 multiconfig
- conf/multiconfig/vruntime-x86-64.conf: x86-64 multiconfig
The vruntime distro provides a minimal environment for building
Docker/Podman rootfs images used by vdkr/vpdmn.
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
| -rw-r--r-- | conf/distro/vruntime.conf | 47 | ||||
| -rw-r--r-- | conf/multiconfig/vruntime-aarch64.conf | 15 | ||||
| -rw-r--r-- | conf/multiconfig/vruntime-x86-64.conf | 15 |
3 files changed, 77 insertions, 0 deletions
diff --git a/conf/distro/vruntime.conf b/conf/distro/vruntime.conf new file mode 100644 index 00000000..a10df80f --- /dev/null +++ b/conf/distro/vruntime.conf | |||
| @@ -0,0 +1,47 @@ | |||
| 1 | # SPDX-FileCopyrightText: Copyright (C) 2025 Bruce Ashfield | ||
| 2 | # | ||
| 3 | # SPDX-License-Identifier: MIT | ||
| 4 | # | ||
| 5 | # VRuntime - Minimal distro for vdkr/vpdmn container runtime environments | ||
| 6 | # | ||
| 7 | # This distro is used by multiconfig builds (vruntime-aarch64, vruntime-x86-64) | ||
| 8 | # to create minimal rootfs images for QEMU-based container processing. | ||
| 9 | # | ||
| 10 | # The resulting images contain Docker or Podman tools and are used by | ||
| 11 | # vrunner.sh to import containers during Yocto image builds. | ||
| 12 | |||
| 13 | require conf/distro/poky.conf | ||
| 14 | |||
| 15 | DISTRO = "vruntime" | ||
| 16 | DISTRO_NAME = "VRuntime Minimal" | ||
| 17 | DISTRO_VERSION = "1.0" | ||
| 18 | |||
| 19 | # Minimal distro features for container runtime environment | ||
| 20 | # - acl: Access control lists (containers need this) | ||
| 21 | # - ext2: Filesystem support | ||
| 22 | # - ipv4/ipv6: Network support for container networking | ||
| 23 | # - seccomp: Security for container isolation | ||
| 24 | # - vfat: For potential boot partition support | ||
| 25 | # - pci: PCI device support (virtio devices) | ||
| 26 | # - vcontainer: Enable vdkr/vpdmn kernel config fragments (9p, squashfs, overlayfs) | ||
| 27 | # | ||
| 28 | # Explicitly NOT included: x11, wayland, pulseaudio, bluetooth, wifi, nfc, 3g, pcmcia | ||
| 29 | DISTRO_FEATURES = "acl ext2 ipv4 ipv6 seccomp vfat pci vcontainer" | ||
| 30 | |||
| 31 | # Native and nativesdk classes need full features for build tools | ||
| 32 | DISTRO_FEATURES:class-native = "${DISTRO_FEATURES_DEFAULT} ${POKY_DEFAULT_DISTRO_FEATURES}" | ||
| 33 | DISTRO_FEATURES:class-nativesdk = "${DISTRO_FEATURES_DEFAULT} ${POKY_DEFAULT_DISTRO_FEATURES}" | ||
| 34 | |||
| 35 | # Default to ext4, but image recipes may override to squashfs | ||
| 36 | IMAGE_FSTYPES = "ext4" | ||
| 37 | |||
| 38 | # Use busybox init for minimal footprint | ||
| 39 | # The vdkr/vpdmn images use custom /init scripts anyway | ||
| 40 | VIRTUAL-RUNTIME_init_manager = "busybox" | ||
| 41 | VIRTUAL-RUNTIME_initscripts = "initscripts" | ||
| 42 | |||
| 43 | # Disable unnecessary features | ||
| 44 | VIRTUAL-RUNTIME_login_manager = "" | ||
| 45 | |||
| 46 | # Keep images small - no documentation or debug | ||
| 47 | EXTRA_IMAGE_FEATURES = "" | ||
diff --git a/conf/multiconfig/vruntime-aarch64.conf b/conf/multiconfig/vruntime-aarch64.conf new file mode 100644 index 00000000..f9f0276c --- /dev/null +++ b/conf/multiconfig/vruntime-aarch64.conf | |||
| @@ -0,0 +1,15 @@ | |||
| 1 | # SPDX-FileCopyrightText: Copyright (C) 2025 Bruce Ashfield | ||
| 2 | # | ||
| 3 | # SPDX-License-Identifier: MIT | ||
| 4 | # | ||
| 5 | # Multiconfig for vruntime aarch64 builds | ||
| 6 | # | ||
| 7 | # Used to build minimal container-runtime-capable rootfs for QEMU environment. | ||
| 8 | # Supports vdkr (Docker) and vpdmn (Podman) virtual container runtimes. | ||
| 9 | # | ||
| 10 | # Distro-level configuration (DISTRO_FEATURES, etc.) is in conf/distro/vruntime.conf | ||
| 11 | # Kernel features (squashfs, overlayfs) are in recipes-kernel/linux/linux-yocto_%.bbappend | ||
| 12 | |||
| 13 | DISTRO = "vruntime" | ||
| 14 | MACHINE = "qemuarm64" | ||
| 15 | TMPDIR = "${TOPDIR}/tmp-vruntime-aarch64" | ||
diff --git a/conf/multiconfig/vruntime-x86-64.conf b/conf/multiconfig/vruntime-x86-64.conf new file mode 100644 index 00000000..d897f398 --- /dev/null +++ b/conf/multiconfig/vruntime-x86-64.conf | |||
| @@ -0,0 +1,15 @@ | |||
| 1 | # SPDX-FileCopyrightText: Copyright (C) 2025 Bruce Ashfield | ||
| 2 | # | ||
| 3 | # SPDX-License-Identifier: MIT | ||
| 4 | # | ||
| 5 | # Multiconfig for vruntime x86-64 builds | ||
| 6 | # | ||
| 7 | # Used to build minimal container-runtime-capable rootfs for QEMU environment. | ||
| 8 | # Supports vdkr (Docker) and vpdmn (Podman) virtual container runtimes. | ||
| 9 | # | ||
| 10 | # Distro-level configuration (DISTRO_FEATURES, etc.) is in conf/distro/vruntime.conf | ||
| 11 | # Kernel features (squashfs, overlayfs) are in recipes-kernel/linux/linux-yocto_%.bbappend | ||
| 12 | |||
| 13 | DISTRO = "vruntime" | ||
| 14 | MACHINE = "qemux86-64" | ||
| 15 | TMPDIR = "${TOPDIR}/tmp-vruntime-x86-64" | ||
