[Buildroot] [PATCH v3 0/3] Add support for OCI rootfs images

Matthew Weber matthew.weber at collins.com
Fri Aug 27 20:54:27 UTC 2021


This patch set adds support for OCI images.

The OCI image format is a specification for container images defined and
maintained as an open standard by the Open Container Initiative [1].

To generate the image according to the specification [2], a tool called
sloci-image is used.

The OCI image is generated (by default) in a directory called rootfs-oci:

$ ls output/images/rootfs-oci/
blobs  index.json  oci-layout

It can be pushed to a container registry using tools like skopeo:

$ skopeo copy --dest-creds <user>:<pass> oci:rootfs-oci:<tag> \
         docker://<user>/<image>[:tag]

And then we can pull/run the container image with tools like docker:

$ docker run --rm -it <user>/<image>[:tag]

In v3 of this series, a runtime test has been added where the OCI archive
is imported into a containerd instance and executed. This verifies the
full workflow and use at runtime. `./support/testing/tests/fs/test_oci.py`

[1] https://opencontainers.org/
[2] https://github.com/opencontainers/image-spec/blob/master/spec.md

---
Changes 
v2 -> v3
[Matt]
  - Patched sloci tar archive creation to remove nested folder
    (merged upstream but not yet in release)
  - Added runtime testing of OCI tar archive using containerd direct import

v1 -> v2:
[Sergio]
  - bump sloci-image version to 0.1.1 abd drop patch applied upstream
  - improve usage comments
  - fix check-package warnings

Matthew Weber (1):
  support/testing/tests/fs: test OCI format

Sergio Prado (2):
  package/sloci-image: new host package
  fs: new OCI filesystem type

 DEVELOPERS                                    |  1 +
 board/qemu/aarch64-virt/linux.config          |  6 ++
 fs/Config.in                                  |  1 +
 fs/oci/Config.in                              | 88 +++++++++++++++++
 fs/oci/oci.mk                                 | 99 +++++++++++++++++++
 package/Config.in.host                        |  2 +
 ...-from-the-contents-of-working-folder.patch | 37 +++++++
 package/sloci-image/Config.in.host            |  7 ++
 package/sloci-image/sloci-image.hash          |  5 +
 package/sloci-image/sloci-image.mk            | 19 ++++
 support/testing/tests/fs/test_oci.py          | 56 +++++++++++
 11 files changed, 321 insertions(+)
 create mode 100644 fs/oci/Config.in
 create mode 100644 fs/oci/oci.mk
 create mode 100644 package/sloci-image/0001-create-OCI-tar-from-the-contents-of-working-folder.patch
 create mode 100644 package/sloci-image/Config.in.host
 create mode 100644 package/sloci-image/sloci-image.hash
 create mode 100644 package/sloci-image/sloci-image.mk
 create mode 100644 support/testing/tests/fs/test_oci.py

-- 
2.17.1




More information about the buildroot mailing list