<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/meta-virtualization.git/classes/oci-multiarch.bbclass, 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>vcontainer: add multi-arch OCI support</title>
<updated>2026-02-09T03:32:52+00:00</updated>
<author>
<name>Bruce Ashfield</name>
<email>bruce.ashfield@gmail.com</email>
</author>
<published>2026-01-15T21:50:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-virtualization.git/commit/?id=25acb056c37b85fc76961cf8b477f006455b11d3'/>
<id>urn:sha1:25acb056c37b85fc76961cf8b477f006455b11d3</id>
<content type='text'>
Add functions to detect and handle multi-architecture OCI Image Index
format with automatic platform selection during import. Also add
oci-multiarch.bbclass for build-time multi-arch OCI creation.

Runtime support (vcontainer-common.sh):
- is_oci_image_index() - detect multi-arch OCI images
- get_oci_platforms() - list available platforms
- select_platform_manifest() - select manifest for target architecture
- extract_platform_oci() - extract single platform to new OCI dir
- normalize_arch_to_oci/from_oci() - architecture name mapping
- Update vimport to auto-select platform from multi-arch images

Build-time support (oci-multiarch.bbclass):
- Create OCI Image Index from multiconfig builds
- Collect images from vruntime-aarch64, vruntime-x86-64
- Combine blobs and create unified manifest list

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