<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/meta-virtualization.git/recipes-extended/images, branch master</title>
<subtitle>Mirror of git.yoctoproject.org/meta-virtualization</subtitle>
<id>https://git.enea.com/cgit/linux/meta-virtualization.git/atom?h=master</id>
<link rel='self' href='https://git.enea.com/cgit/linux/meta-virtualization.git/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-virtualization.git/'/>
<updated>2026-05-10T13:58:10+00:00</updated>
<entry>
<title>oci-multiarch: fix MC defaults, deploy dependency, and OCI layout</title>
<updated>2026-05-10T13:58:10+00:00</updated>
<author>
<name>Bruce Ashfield</name>
<email>bruce.ashfield@gmail.com</email>
</author>
<published>2026-05-10T13:58:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-virtualization.git/commit/?id=3d431848b32caae67b9dcbf7fe04f08ddcd448b5'/>
<id>urn:sha1:3d431848b32caae67b9dcbf7fe04f08ddcd448b5</id>
<content type='text'>
Three issues prevented oci-multiarch.bbclass from producing usable
multi-architecture container images:

1. MC defaults pointed to vruntime-* multiconfigs, whose BBMASK blocks
   OCI tooling. Changed to container-* multiconfigs which use the new
   vcontainer distro without BBMASK.

2. mcdepends targeted do_image_oci, but the OCI output is only deployed
   to deploy/images/ by the later do_image_complete task. The bbclass
   then failed to find the OCI directory at the expected deploy path.
   The original implementation assumed do_image_oci was the final step,
   but OE-core's image pipeline has a separate deploy phase.

3. The OCI Image Index was written directly into index.json with
   multiple manifest entries. This is valid per the OCI spec but skopeo
   requires index.json to reference a single entry when there are
   multiple images. The fix writes the multi-platform image index as a
   blob in blobs/sha256/ and has index.json reference it with a single
   entry of mediaType application/vnd.oci.image.index.v1+json. This
   nested layout is what tools like buildah and crane produce for
   multi-arch images, and is required for 'skopeo copy --all' to work.

Also adds container-base-multiarch.bb recipe that wires up container-base
for aarch64 + x86_64 builds via the oci-multiarch class.

Signed-off-by: Bruce Ashfield &lt;bruce.ashfield@gmail.com&gt;
</content>
</entry>
<entry>
<title>incus: add container host profile</title>
<updated>2026-04-09T03:32:12+00:00</updated>
<author>
<name>Bruce Ashfield</name>
<email>bruce.ashfield@gmail.com</email>
</author>
<published>2026-04-09T03:18:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-virtualization.git/commit/?id=a05c578640c1bef9b8704ffb060815e0f946d705'/>
<id>urn:sha1:a05c578640c1bef9b8704ffb060815e0f946d705</id>
<content type='text'>
Add CONTAINER_PROFILE=incus support so incus can be selected as the
container engine for container-image-host:

  require conf/distro/include/container-host-incus.conf
  MACHINE = "qemux86-64"
  bitbake container-image-host

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>xen: update documentation with vxn/containerd integration and runtime tests</title>
<updated>2026-02-26T01:05:02+00:00</updated>
<author>
<name>Bruce Ashfield</name>
<email>bruce.ashfield@gmail.com</email>
</author>
<published>2026-02-25T04:38:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-virtualization.git/commit/?id=506d5af230f0b41809dfe754e84d5611b75c6585'/>
<id>urn:sha1:506d5af230f0b41809dfe754e84d5611b75c6585</id>
<content type='text'>
README-xen.md:
- Add vxn and containerd integration section describing all execution
  paths (containerd, vxn standalone, vdkr/vpdmn, native Docker/Podman)
- Add memory requirements section explaining QB_MEM_VALUE=1024 is
  insufficient for vxn/vctr and documenting qemuparams="-m 4096"
- Add runtime tests section with build prerequisites, test commands,
  and skip behavior
- Fix x86-64 runqemu command to include qemuparams="-m 4096"

vxn/README.md:
- Add testing section referencing the pytest runtime test suite

Signed-off-by: Bruce Ashfield &lt;bruce.ashfield@gmail.com&gt;
</content>
</entry>
<entry>
<title>xen: add configuration tests and update documentation</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-19T22:39:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-virtualization.git/commit/?id=6d94266a86246ac23abdbc28ac3b5c6e522fb748'/>
<id>urn:sha1:6d94266a86246ac23abdbc28ac3b5c6e522fb748</id>
<content type='text'>
Add TestXenImageMinimalX86Config test class verifying:
- QB_CPU_KVM host passthrough for Xen CPUID filtering
- QB_MEM_VALUE override (not QB_MEM which can't override bbclass)
- dom0_mem in both QB_XEN_CMDLINE_EXTRA and WKS syslinux config
- vgabios SAVANNAH_GNU_MIRROR usage

Update Alpine recipe tests for per-arch checksums (name=${ALPINE_ARCH})
and S variable. Add qemux86-64 build and boot section to README-xen.md.

Signed-off-by: Bruce Ashfield &lt;bruce.ashfield@gmail.com&gt;
</content>
</entry>
<entry>
<title>xen: fix x86-64 boot and guest bundling issues</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-19T22:35:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-virtualization.git/commit/?id=5c891aab54f1432f2afe75bf0dee0027fbb2e4bd'/>
<id>urn:sha1:5c891aab54f1432f2afe75bf0dee0027fbb2e4bd</id>
<content type='text'>
Fix several issues found during x86-64 Xen testing:

- xen-image-minimal: use -cpu host for KVM to avoid Xen CPUID
  filtering stripping AVX/AVX2 from x86-64-v3 builds, causing
  illegal instruction crashes in Dom0
- xen-image-minimal: use QB_MEM_VALUE (not QB_MEM) to properly
  override the hard assignment in qemuboot-xen-defaults.bbclass
- xen-image-minimal: set dom0_mem=512M via QB_XEN_CMDLINE_EXTRA
- qemuboot-xen-x86-64.cfg: add dom0_mem=512M to static syslinux
  config so guest autostart has memory available
- vgabios: use ${SAVANNAH_GNU_MIRROR} for reliable downloads
- alpine-xen-guest-bundle: add per-architecture checksums for
  aarch64 and x86_64 tarballs, fix S variable warning

Signed-off-by: Bruce Ashfield &lt;bruce.ashfield@gmail.com&gt;
</content>
</entry>
<entry>
<title>xen: add guest bundling infrastructure with cross-install class</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:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-virtualization.git/commit/?id=1e88a57bfa40ec640962a8aaea6c1db6da990500'/>
<id>urn:sha1:1e88a57bfa40ec640962a8aaea6c1db6da990500</id>
<content type='text'>
Add xen-guest-cross-install.bbclass for bundling Xen guest images into
Dom0 host images at build time. Supports per-guest configuration via
varflags (memory, vcpus, vif, kernel extra), custom config files,
external/pre-built guests, and autostart via /etc/xen/auto/ symlinks.

Also add example-xen-guest-bundle recipe as a template, and simplify
xen-guest-image-minimal by removing the old XEN_GUEST_AUTO_BUNDLE
do_deploy mechanism in favor of the new class-based approach.

Signed-off-by: Bruce Ashfield &lt;bruce.ashfield@gmail.com&gt;
</content>
</entry>
<entry>
<title>vxn: add containerd OCI runtime integration</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-18T14:07:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-virtualization.git/commit/?id=9377aede3157a3e7b702dc389c15f27523b673e7'/>
<id>urn:sha1:9377aede3157a3e7b702dc389c15f27523b673e7</id>
<content type='text'>
Add shell-based OCI runtime (vxn-oci-runtime) that enables containerd
to manage Xen DomU containers through the standard runc shim. Non-terminal
container output flows back to ctr via the shim's pipe mechanism.

New files:
- vxn-oci-runtime: OCI runtime (create/start/state/kill/delete/features/logs)
- vxn-sendtty.c: SCM_RIGHTS helper for terminal mode PTY passing
- containerd-shim-vxn-v2: PATH trick wrapper for runc shim coexistence
- containerd-config-vxn.toml: CRI config (vxn default, runc fallback)
- vctr: convenience wrapper injecting --runtime io.containerd.vxn.v2

Key design:
- Monitor subprocess uses wait on xl console (not sleep-polling) for
  instant reaction when domain dies, then extracts output markers and
  writes to stdout (shim pipe -&gt; containerd FIFO -&gt; ctr client)
- cmd_state checks monitor PID liveness (not domain status) to prevent
  premature cleanup race that killed monitor before output
- cmd_delete always destroys remnant domains (no --force needed)
- Coexists with runc: /usr/libexec/vxn/shim/runc symlink + PATH trick

Verified: vctr run --rm, vctr run -d, vxn standalone, vxn daemon mode.

Signed-off-by: Bruce Ashfield &lt;bruce.ashfield@gmail.com&gt;
</content>
</entry>
<entry>
<title>xen: document guest import system and add tests</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-12T18:31:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-virtualization.git/commit/?id=0fe8c4444f3199b862a4ba52b2b62b5f9b2af85f'/>
<id>urn:sha1:0fe8c4444f3199b862a4ba52b2b62b5f9b2af85f</id>
<content type='text'>
Add 3rd-party guest import section to README-xen.md covering
import types, kernel modes, Alpine example, and how to add
custom import handlers.

Add test_xen_guest_bundle.py with 46 pytest tests covering
bbclass structure, import handlers, kernel modes, license
warning, Alpine recipe, and README content.

Signed-off-by: Bruce Ashfield &lt;bruce.ashfield@gmail.com&gt;
</content>
</entry>
<entry>
<title>container-yocto-builder: add Yocto build container with systemd</title>
<updated>2026-02-10T21:04:20+00:00</updated>
<author>
<name>Bruce Ashfield</name>
<email>bruce.ashfield@gmail.com</email>
</author>
<published>2026-02-10T04:33:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-virtualization.git/commit/?id=6f53d7763906f24d86e89da4da744421c52d591c'/>
<id>urn:sha1:6f53d7763906f24d86e89da4da744421c52d591c</id>
<content type='text'>
Multi-layer OCI container image that can compile the Yocto Project.
Three layers: systemd-base, build-tools, yocto-extras. Features
CROPS-style dynamic user creation matching /workdir volume owner
UID/GID.

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