diff options
| author | Bruce Ashfield <bruce.ashfield@gmail.com> | 2026-01-23 15:22:28 -0500 |
|---|---|---|
| committer | Bruce Ashfield <bruce.ashfield@gmail.com> | 2026-01-23 22:29:11 -0500 |
| commit | f2472dcdc52de398eccc829d88b400e587d6f934 (patch) | |
| tree | 4687384bf2dbb15a16f5d6d4fe7da343f64ec49f /conf | |
| parent | fb2d1d8a47909b8e7e49df65ae30263ca236236f (diff) | |
| download | meta-virtualization-f2472dcdc52de398eccc829d88b400e587d6f934.tar.gz | |
vcontainer: fix runc/crun conflict in multiconfig builds
The vruntime distro is used for multiconfig builds of both vdkr
(Docker/runc) and vpdmn (Podman/crun) images. When CONTAINER_PROFILE
or VIRTUAL-RUNTIME_container_runtime is set, containerd and podman
pull their preferred runtime via RDEPENDS, causing package conflicts.
Fix by having vruntime distro NOT participate in CONTAINER_PROFILE:
- Set VIRTUAL-RUNTIME_container_runtime="" to prevent automatic
runtime selection
- Explicitly install runc in vdkr-rootfs-image.bb
- Explicitly install crun in vpdmn-rootfs-image.bb
This allows both images to be built in the same multiconfig without
conflicts, while standard container-host images continue to use
CONTAINER_PROFILE normally.
Also add kernel-modules to vdkr-rootfs-image for overlay filesystem
support.
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Diffstat (limited to 'conf')
| -rw-r--r-- | conf/distro/vruntime.conf | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/conf/distro/vruntime.conf b/conf/distro/vruntime.conf index a10df80f..a489a7a2 100644 --- a/conf/distro/vruntime.conf +++ b/conf/distro/vruntime.conf | |||
| @@ -7,8 +7,10 @@ | |||
| 7 | # This distro is used by multiconfig builds (vruntime-aarch64, vruntime-x86-64) | 7 | # This distro is used by multiconfig builds (vruntime-aarch64, vruntime-x86-64) |
| 8 | # to create minimal rootfs images for QEMU-based container processing. | 8 | # to create minimal rootfs images for QEMU-based container processing. |
| 9 | # | 9 | # |
| 10 | # The resulting images contain Docker or Podman tools and are used by | 10 | # IMPORTANT: This distro does NOT participate in CONTAINER_PROFILE. |
| 11 | # vrunner.sh to import containers during Yocto image builds. | 11 | # The vdkr/vpdmn rootfs images explicitly specify their container stacks |
| 12 | # to avoid conflicts between docker (runc) and podman (crun) requirements. | ||
| 13 | # This allows both to be built in the same multiconfig. | ||
| 12 | 14 | ||
| 13 | require conf/distro/poky.conf | 15 | require conf/distro/poky.conf |
| 14 | 16 | ||
| @@ -45,3 +47,16 @@ VIRTUAL-RUNTIME_login_manager = "" | |||
| 45 | 47 | ||
| 46 | # Keep images small - no documentation or debug | 48 | # Keep images small - no documentation or debug |
| 47 | EXTRA_IMAGE_FEATURES = "" | 49 | EXTRA_IMAGE_FEATURES = "" |
| 50 | |||
| 51 | # ============================================================================= | ||
| 52 | # Container runtime: NOT SET | ||
| 53 | # ============================================================================= | ||
| 54 | # Unlike normal container distros, vruntime does NOT set CONTAINER_PROFILE | ||
| 55 | # or VIRTUAL-RUNTIME_container_runtime. This prevents containerd/podman from | ||
| 56 | # pulling a specific runtime via RDEPENDS, avoiding conflicts when both | ||
| 57 | # vdkr (runc) and vpdmn (crun) are built in the same multiconfig. | ||
| 58 | # | ||
| 59 | # The vdkr-rootfs-image and vpdmn-rootfs-image recipes explicitly install | ||
| 60 | # their required runtimes in IMAGE_INSTALL. | ||
| 61 | # ============================================================================= | ||
| 62 | VIRTUAL-RUNTIME_container_runtime = "" | ||
