mirror of
git://git.yoctoproject.org/meta-virtualization.git
synced 2026-05-28 07:33:56 +02:00
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 <bruce.ashfield@gmail.com> |
||
|---|---|---|
| .. | ||
| cni_networking.bbclass | ||
| container-bundle.bbclass | ||
| container-common.bbclass | ||
| container-cross-install.bbclass | ||
| container-host.bbclass | ||
| container-registry.bbclass | ||
| go-mod-discovery.bbclass | ||
| go-mod-vcs.bbclass | ||
| image-oci-sloci-image.inc | ||
| image-oci-umoci.inc | ||
| image-oci.bbclass | ||
| meta-virt-cfg.bbclass | ||
| meta-virt-container-cfg.bbclass | ||
| meta-virt-depreciated-warning.bbclass | ||
| meta-virt-hosts.bbclass | ||
| meta-virt-k8s-cfg.bbclass | ||
| meta-virt-xen-cfg.bbclass | ||
| oci-multiarch.bbclass | ||
| qemuboot-testimage-network.bbclass | ||
| qemuboot-xen-defaults.bbclass | ||
| qemuboot-xen-dtb.bbclass | ||
| sanity-meta-virt.bbclass | ||
| virt_networking.bbclass | ||
| xen-guest-bundle.bbclass | ||
| xen-guest-cross-install.bbclass | ||