<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/meta-virtualization.git/conf, branch master-next</title>
<subtitle>Mirror of git.yoctoproject.org/meta-virtualization</subtitle>
<id>https://git.enea.com/cgit/linux/meta-virtualization.git/atom?h=master-next</id>
<link rel='self' href='https://git.enea.com/cgit/linux/meta-virtualization.git/atom?h=master-next'/>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-virtualization.git/'/>
<updated>2026-04-06T23:49:24+00:00</updated>
<entry>
<title>k3s-host: set virtual-runc as container runtime</title>
<updated>2026-04-06T23:49:24+00:00</updated>
<author>
<name>Bruce Ashfield</name>
<email>bruce.ashfield@gmail.com</email>
</author>
<published>2026-04-06T15:49:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-virtualization.git/commit/?id=a4cd368b40d5f95d759548e45475d62555b08cf5'/>
<id>urn:sha1:a4cd368b40d5f95d759548e45475d62555b08cf5</id>
<content type='text'>
The k3s-host container profile had VIRTUAL-RUNTIME_container_runtime
set to empty, which meant no OCI runtime (runc or crun) was installed.
containerd's RDEPENDS uses this variable to pull in the runtime, so
k3s pods failed with "runc: executable file not found in $PATH".

Set to virtual-runc which is what k3s expects. The k3s-node profile
inherits from k3s-host so it gets the fix too.

Signed-off-by: Bruce Ashfield &lt;bruce.ashfield@gmail.com&gt;
</content>
</entry>
<entry>
<title>vruntime, vrunner, conftest: fix multiconfig and batch import issues</title>
<updated>2026-04-06T23:48:37+00:00</updated>
<author>
<name>Bruce Ashfield</name>
<email>bruce.ashfield@gmail.com</email>
</author>
<published>2026-04-05T02:10:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-virtualization.git/commit/?id=4b0789cbb615c29ad7a0d072ab88b5fa81099605'/>
<id>urn:sha1:4b0789cbb615c29ad7a0d072ab88b5fa81099605</id>
<content type='text'>
vruntime.conf:
- Reset all VIRTUAL-RUNTIME_container_* variables to prevent
  CONTAINER_PROFILE selections from leaking into vruntime multiconfigs
  (e.g., podman profile pulling netavark into vruntime builds)
- Disable ptest for glib-2.0 — its -ptest RDEPENDS chain
  (python3-dbusmock -&gt; python3-pygobject -&gt; cairo -&gt; fontconfig)
  pulls the entire graphics stack which is masked in vruntime
- OE-core commit 159148f4de2 replaced DISTRO_FEATURES_BACKFILL_CONSIDERED
  with DISTRO_FEATURES_OPTED_OUT. The old variable no longer has any
  effect, which meant ptest, gobject-introspection-data, wayland, and
  other features were no longer being blocked in vruntime builds. This
  caused glib-2.0's ptest RDEPENDS to pull in the cairo → fontconfig →
  freetype graphics stack, which is masked by the vruntime BBMASK.
- Set PREFERRED_PROVIDER_virtual/runc with strong assignment to
  ensure the unified runc recipe is used

vrunner.sh:
- Fix batch import exit code handling: wrap import chain in subshell
  and make the images listing best-effort. The previous '&amp;&amp; podman
  images' caused false failures when podman images couldn't initialize
  its network backend. Using 'exit' was also wrong as the command runs
  inside PID 1 init's eval — exit kills init causing kernel panic.

vpdmn-rootfs-image.bb:
- Switch from netavark to CNI networking — netavark's dependency chain
  (nmap -&gt; libpcap -&gt; bluez5 -&gt; python3-pygobject -&gt; cairo) cannot be
  built under the vruntime BBMASK environment
- Add nsswitch.conf override (files-only backend) to prevent
  libnss_systemd segfaults — the vruntime VM uses busybox init with
  no systemd running, but libnss_systemd.so is pulled in as a
  dependency and segfaults on NSS resolution

vdkr-rootfs-image.bb:
- Document skopeo requirement for batch import

conftest.py:
- Add --k3s-timeout option and k3s/multinode markers for upcoming
  K3s test suite

Signed-off-by: Bruce Ashfield &lt;bruce.ashfield@gmail.com&gt;
</content>
</entry>
<entry>
<title>conf/distro: add build profile configuration fragments</title>
<updated>2026-04-05T02:09:58+00:00</updated>
<author>
<name>Bruce Ashfield</name>
<email>bruce.ashfield@gmail.com</email>
</author>
<published>2026-04-05T02:09:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-virtualization.git/commit/?id=6ec07384e871727c87f3960389e713be78786725'/>
<id>urn:sha1:6ec07384e871727c87f3960389e713be78786725</id>
<content type='text'>
Add includable configuration fragments that replace manual
DISTRO_FEATURES, CONTAINER_PROFILE, and related settings in
local.conf. Fragments are organized as a base + composable deltas:

- meta-virt-host.conf: base for all virtualization work
  (virtualization, systemd, seccomp, vmsep, vcontainer, BBMULTICONFIG)
- container-host-{docker,podman,containerd,k3s,k3s-node}.conf:
  container engine profiles setting CONTAINER_PROFILE and
  profile-specific DISTRO_FEATURES
- xen-host.conf: Xen hypervisor support (xen, vxn distro features,
  xen-image-minimal packages)
- meta-virt-dev.conf: QEMU development settings (IMAGE_FSTYPES,
  QB_MEM, debug image features)
- container-registry.conf: local dev registry defaults
  (insecure localhost:5000)

Profiles are pure deltas and do not auto-include the base to avoid
BitBake duplicate inclusion warnings. Users include meta-virt-host.conf
first, then add profile fragments. The BUILD_PROFILE variable enables
single-line profile switching.

Usage in local.conf:

  require conf/distro/include/meta-virt-host.conf
  BUILD_PROFILE ?= "podman"
  require conf/distro/include/container-host-${BUILD_PROFILE}.conf

Tested with podman, docker, and xen builds.

Signed-off-by: Bruce Ashfield &lt;bruce.ashfield@gmail.com&gt;
</content>
</entry>
<entry>
<title>libibverbs: remove obsolete recipe</title>
<updated>2026-03-24T03:15:41+00:00</updated>
<author>
<name>Bruce Ashfield</name>
<email>bruce.ashfield@gmail.com</email>
</author>
<published>2026-03-24T02:58:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-virtualization.git/commit/?id=1f93d3039814204d4e6dd5f9728b7ad5740730b9'/>
<id>urn:sha1:1f93d3039814204d4e6dd5f9728b7ad5740730b9</id>
<content type='text'>
libibverbs has been superseded by rdma-core in OE-core since 2017.
The only consumer was ceph, which builds with -DWITH_RDMA=OFF making
the dependency unnecessary. Remove the recipe and its vruntime bbmask
entry.

Signed-off-by: Bruce Ashfield &lt;bruce.ashfield@gmail.com&gt;
</content>
</entry>
<entry>
<title>layer: bump compatibility to wrynose</title>
<updated>2026-03-18T03:28:17+00:00</updated>
<author>
<name>Bruce Ashfield</name>
<email>bruce.ashfield@gmail.com</email>
</author>
<published>2026-03-18T03:28:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-virtualization.git/commit/?id=475530ac08ecf716917f48dfa60e0607d324ff9a'/>
<id>urn:sha1:475530ac08ecf716917f48dfa60e0607d324ff9a</id>
<content type='text'>
Signed-off-by: Bruce Ashfield &lt;bruce.ashfield@gmail.com&gt;
</content>
</entry>
<entry>
<title>container-dummy-provides: Update to match changes in oe-core</title>
<updated>2026-03-14T15:16:57+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2026-03-14T10:31:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-virtualization.git/commit/?id=4162f89853eeeec194530dfbbb2210143ede1ca9'/>
<id>urn:sha1:4162f89853eeeec194530dfbbb2210143ede1ca9</id>
<content type='text'>
OE-Core made changes to the way dummy providers work, update the
container-dummy-provides to match them. It now needs a hint in layer.conf
to make the core components aware of the presence of the dummy recipe.

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
Signed-off-by: Bruce Ashfield &lt;bruce.ashfield@gmail.com&gt;
</content>
</entry>
<entry>
<title>container-registry: use FEATURE_PACKAGES for IMAGE_FEATURES validation</title>
<updated>2026-03-12T19:18:50+00:00</updated>
<author>
<name>Bruce Ashfield</name>
<email>bruce.ashfield@gmail.com</email>
</author>
<published>2026-03-12T19:15:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-virtualization.git/commit/?id=6240456e2d113ce1b7fe7bb43bf769035f23d465'/>
<id>urn:sha1:6240456e2d113ce1b7fe7bb43bf769035f23d465</id>
<content type='text'>
Move FEATURE_PACKAGES_container-registry from container-image-host.bb
to meta-virt-container.inc so it is available to all image recipes.

image.bbclass check_image_features() auto-discovers FEATURE_PACKAGES_*
variables as valid image features (line 72), so defining the variable
globally is sufficient — no IMAGE_FEATURES[validitems] needed.

This avoids the signature pollution that IMAGE_FEATURES[validitems]
causes when set globally, while allowing container-registry to be
used as an IMAGE_FEATURES value in any image recipe.

Signed-off-by: Bruce Ashfield &lt;bruce.ashfield@gmail.com&gt;
</content>
</entry>
<entry>
<title>container-registry: make IMAGE_FEATURES conditional on distro features</title>
<updated>2026-03-11T23:34:27+00:00</updated>
<author>
<name>Bruce Ashfield</name>
<email>bruce.ashfield@gmail.com</email>
</author>
<published>2026-03-11T23:34:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-virtualization.git/commit/?id=947678262ae85f214a306ff41d7352485c8d5a03'/>
<id>urn:sha1:947678262ae85f214a306ff41d7352485c8d5a03</id>
<content type='text'>
Move the container-registry IMAGE_FEATURES[validitems] registration
from layer.conf into meta-virt-container-cfg.bbclass where it can be
gated on DISTRO_FEATURES. The validitems varflag is now only registered
when vcontainer or virtualization is in DISTRO_FEATURES.

layer.conf is parsed before distro features are known, so inline
Python cannot be used there. The bbclass is loaded via USER_CLASSES
(deferred parsing) and already handles container profile configuration.

Signed-off-by: Bruce Ashfield &lt;bruce.ashfield@gmail.com&gt;
</content>
</entry>
<entry>
<title>conf/vruntime: exclude backfill distro features</title>
<updated>2026-03-03T18:11:12+00:00</updated>
<author>
<name>Bruce Ashfield</name>
<email>bruce.ashfield@gmail.com</email>
</author>
<published>2026-03-03T18:11:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-virtualization.git/commit/?id=a37eb96a8f0c3cfe375bc7528a105c92a5ff3af5'/>
<id>urn:sha1:a37eb96a8f0c3cfe375bc7528a105c92a5ff3af5</id>
<content type='text'>
Block backfill features not needed by container runtime environments.
OE-core's DISTRO_FEATURES_BACKFILL auto-appends these to DISTRO_FEATURES
unless explicitly listed here. Without this, gobject-introspection-data
enables python3-pygobject (which DEPENDS on cairo), and wayland enables
pygobject's cairo PACKAGECONFIG — both are masked in vruntime builds.

We are using:

  ISTRO_FEATURES_BACKFILL_CONSIDERED = "pulseaudio gobject-introspection-data opengl ptest multiarch wayland vulkan"

Signed-off-by: Bruce Ashfield &lt;bruce.ashfield@gmail.com&gt;
</content>
</entry>
<entry>
<title>linux-yocto: add vxn distro feature and Xen PV kernel config</title>
<updated>2026-02-26T01:05:01+00:00</updated>
<author>
<name>Bruce Ashfield</name>
<email>bruce.ashfield@gmail.com</email>
</author>
<published>2026-02-19T19:14:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-virtualization.git/commit/?id=31367839e0c0216239c064fde344dca0dfd1b5b6'/>
<id>urn:sha1:31367839e0c0216239c064fde344dca0dfd1b5b6</id>
<content type='text'>
Add 'vxn' to DISTRO_FEATURES in vruntime.conf to enable Xen PV guest
kernel configuration. When set, linux-yocto_virtualization.inc includes
vxn.cfg which enables Xen PVH frontend drivers and the 9p Xen transport
(NET_9P_XEN). The base 9p stack comes from the existing vcontainer
feature via cfg/container.scc.

Signed-off-by: Bruce Ashfield &lt;bruce.ashfield@gmail.com&gt;
</content>
</entry>
</feed>
