<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/meta-virtualization.git/docs, branch container-cross-install</title>
<subtitle>Mirror of git.yoctoproject.org/meta-virtualization</subtitle>
<id>https://git.enea.com/cgit/linux/meta-virtualization.git/atom?h=container-cross-install</id>
<link rel='self' href='https://git.enea.com/cgit/linux/meta-virtualization.git/atom?h=container-cross-install'/>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-virtualization.git/'/>
<updated>2026-02-06T03:54:31+00:00</updated>
<entry>
<title>container-cross-install: add tests and documentation for custom service files</title>
<updated>2026-02-06T03:54:31+00:00</updated>
<author>
<name>Bruce Ashfield</name>
<email>bruce.ashfield@gmail.com</email>
</author>
<published>2026-02-06T03:54:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-virtualization.git/commit/?id=5aab0f92f1e774305c23802566d75922f65e0862'/>
<id>urn:sha1:5aab0f92f1e774305c23802566d75922f65e0862</id>
<content type='text'>
Add pytest tests to verify CONTAINER_SERVICE_FILE varflag support:

TestCustomServiceFileSupport (unit tests, no build required):
- test_bbclass_has_service_file_support
- test_bundle_class_has_service_file_support
- test_service_file_map_syntax
- test_install_custom_service_function

TestCustomServiceFileBoot (boot tests, require built image):
- test_systemd_services_directory_exists
- test_container_services_present
- test_container_service_enabled
- test_custom_service_content
- test_podman_quadlet_directory

Documentation updates:
- docs/container-bundling.md: Add "Custom Service Files" section with
  variable format, usage examples for both BUNDLED_CONTAINERS and
  container-bundle packages, and example .service/.container files
- tests/README.md: Add test class entries to structure diagram and
  "What the Tests Check" table

Signed-off-by: Bruce Ashfield &lt;bruce.ashfield@gmail.com&gt;
</content>
</entry>
<entry>
<title>image-oci: add layer caching for multi-layer OCI builds</title>
<updated>2026-01-21T23:00:26+00:00</updated>
<author>
<name>Bruce Ashfield</name>
<email>bruce.ashfield@gmail.com</email>
</author>
<published>2026-01-14T20:59:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-virtualization.git/commit/?id=4d8fc28985dbd69ca5b0b2cfe3e977d74fe5b3dd'/>
<id>urn:sha1:4d8fc28985dbd69ca5b0b2cfe3e977d74fe5b3dd</id>
<content type='text'>
Add layer caching to speed up multi-layer OCI image rebuilds. When
enabled, pre-installed package layers are cached to disk and restored
on subsequent builds, avoiding repeated package installation.

New variables:
- OCI_LAYER_CACHE: Enable/disable caching (default "1")
- OCI_LAYER_CACHE_DIR: Cache location (default ${TOPDIR}/oci-layer-cache/${MACHINE})

Cache key is computed from:
- Layer name and type
- Sorted package list
- Package versions from PKGDATA_DIR
- MACHINE and TUNE_PKGARCH

Cache automatically invalidates when:
- Package versions change
- Layer definition changes
- Architecture changes

Benefits:
- First build: ~10-30s per layer (cache miss, packages installed)
- Subsequent builds: ~1s per layer (cache hit, files copied)
- Shared across recipes with identical layer definitions

Build log shows cache status:
  NOTE: OCI Cache HIT: Layer 'base' (be88c180f651416b)
  NOTE: OCI: Pre-installed packages for 3 layers (cache: 3 hits, 0 misses)

Also adds comprehensive pytest suite for multi-layer OCI functionality
including tests for 1/2/3 layer modes and cache behavior.

Signed-off-by: Bruce Ashfield &lt;bruce.ashfield@gmail.com&gt;
</content>
</entry>
<entry>
<title>image-oci: add multi-layer OCI image support with OCI_LAYERS</title>
<updated>2026-01-21T23:00:26+00:00</updated>
<author>
<name>Bruce Ashfield</name>
<email>bruce.ashfield@gmail.com</email>
</author>
<published>2026-01-14T20:58:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-virtualization.git/commit/?id=24c604854c6ffe79ac7973e333b2df7f7f82ddd9'/>
<id>urn:sha1:24c604854c6ffe79ac7973e333b2df7f7f82ddd9</id>
<content type='text'>
Add support for creating multi-layer OCI images with explicit layer
definitions via OCI_LAYERS variable. This enables fine-grained control
over container layer composition.

New variables:
- OCI_LAYER_MODE: Set to "multi" for explicit layer definitions
- OCI_LAYERS: Define layers as "name:type:content" entries
  - packages: Install specific packages in a layer
  - directories: Copy directories from IMAGE_ROOTFS
  - files: Copy specific files from IMAGE_ROOTFS

Package installation uses Yocto's package manager classes (RpmPM,
OpkgPM) for consistency with do_rootfs, rather than calling dnf/opkg
directly.

Example usage:
  OCI_LAYER_MODE = "multi"
  OCI_LAYERS = "\
      base:packages:base-files+base-passwd+netbase \
      shell:packages:busybox \
      app:packages:curl \
  "

This creates a 3-layer OCI image with discrete base, shell, and app
layers that can be shared and cached independently.

Signed-off-by: Bruce Ashfield &lt;bruce.ashfield@gmail.com&gt;
</content>
</entry>
<entry>
<title>docs: add OCI multi-layer and vshell documentation</title>
<updated>2026-01-21T23:00:26+00:00</updated>
<author>
<name>Bruce Ashfield</name>
<email>bruce.ashfield@gmail.com</email>
</author>
<published>2026-01-14T04:46:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-virtualization.git/commit/?id=3b77c90d6dd76173fb198f6f32a091a68d098495'/>
<id>urn:sha1:3b77c90d6dd76173fb198f6f32a091a68d098495</id>
<content type='text'>
Update container-bundling.md with:

- New "OCI Multi-Layer Images" section explaining:
  - Single vs multi-layer image differences
  - OCI_BASE_IMAGE usage (recipe name or path)
  - OCI_IMAGE_CMD vs OCI_IMAGE_ENTRYPOINT behavior
  - When to use CMD (base images) vs ENTRYPOINT (wrapper tools)

Signed-off-by: Bruce Ashfield &lt;bruce.ashfield@gmail.com&gt;
</content>
</entry>
<entry>
<title>docs: add container bundling and vdkr/vpdmn documentation</title>
<updated>2026-01-21T23:00:26+00:00</updated>
<author>
<name>Bruce Ashfield</name>
<email>bruce.ashfield@gmail.com</email>
</author>
<published>2026-01-07T18:49:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-virtualization.git/commit/?id=7c779aedb554e7e04e98376f57365c622175f470'/>
<id>urn:sha1:7c779aedb554e7e04e98376f57365c622175f470</id>
<content type='text'>
Add comprehensive documentation for the container cross-install system:

- Choosing between BUNDLED_CONTAINERS and container-bundle packages
- Decision guide table for selecting the right approach
- Component relationships (app recipe -&gt; container image -&gt; bundle)
- BUNDLED_CONTAINERS format and examples
- container-bundle.bbclass usage
- Container autostart configuration
- vdkr/vpdmn virtual container runtime usage
- Architecture overview and how it works
- Testing instructions

This provides a single reference for users wanting to bundle containers
into Yocto images at build time.

Signed-off-by: Bruce Ashfield &lt;bruce.ashfield@gmail.com&gt;
</content>
</entry>
<entry>
<title>podman: Add support for rootless mode</title>
<updated>2022-07-15T21:11:58+00:00</updated>
<author>
<name>Andrei Gherzan</name>
<email>andrei.gherzan@huawei.com</email>
</author>
<published>2022-07-11T18:53:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-virtualization.git/commit/?id=cf8a763b28e0608b475643781c5ae51a5186b543'/>
<id>urn:sha1:cf8a763b28e0608b475643781c5ae51a5186b543</id>
<content type='text'>
This support is disabled by default and exposed via PACKAGECONFIG.

Signed-off-by: Andrei Gherzan &lt;andrei.gherzan@huawei.com&gt;
Signed-off-by: Bruce Ashfield &lt;bruce.ashfield@gmail.com&gt;
</content>
</entry>
<entry>
<title>docs: Add initial Xvisor doc</title>
<updated>2020-08-17T01:18:21+00:00</updated>
<author>
<name>Alistair Francis</name>
<email>alistair.francis@wdc.com</email>
</author>
<published>2020-08-13T22:08:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-virtualization.git/commit/?id=f34ada4e1aa49bd7f338f3add7d0ef977ec8ae85'/>
<id>urn:sha1:f34ada4e1aa49bd7f338f3add7d0ef977ec8ae85</id>
<content type='text'>
Signed-off-by: Alistair Francis &lt;alistair.francis@wdc.com&gt;
Signed-off-by: Bruce Ashfield &lt;bruce.ashfield@gmail.com&gt;
</content>
</entry>
<entry>
<title>openvswitch: uprev to 1.10 and documentation update.</title>
<updated>2013-06-03T22:07:39+00:00</updated>
<author>
<name>Paul Barrette</name>
<email>paul.barrette@windriver.com</email>
</author>
<published>2013-06-03T21:02:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-virtualization.git/commit/?id=8499649a5f08e0be26ea6ef8a3feea5d97e80fa7'/>
<id>urn:sha1:8499649a5f08e0be26ea6ef8a3feea5d97e80fa7</id>
<content type='text'>
-Uprev to 1.10
-removed vswitch_test.sh
-added openvswitch.txt.

Signed-off-by: Paul Barrette &lt;paul.barrette@windriver.com&gt;
Signed-off-by: Bruce Ashfield &lt;bruce.ashfield@windriver.com&gt;
</content>
</entry>
<entry>
<title>openvswitch: functionality sanity test</title>
<updated>2013-04-28T04:14:17+00:00</updated>
<author>
<name>Joe Slater</name>
<email>jslater@windriver.com</email>
</author>
<published>2013-04-25T16:30:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-virtualization.git/commit/?id=bb8c2c420bca06c67deb05e9f63e101752110759'/>
<id>urn:sha1:bb8c2c420bca06c67deb05e9f63e101752110759</id>
<content type='text'>
Instructions for creating a simple bridge that will take
over eth0.  You cannot be executing out of an nfs-mounted
filesystem while setting up the bridge.

Signed-off-by: Joe Slater &lt;jslater@windriver.com&gt;
Signed-off-by: Bruce Ashfield &lt;bruce.ashfield@windriver.com&gt;
</content>
</entry>
<entry>
<title>docs: create initial documentation subdirectory structure</title>
<updated>2013-03-18T14:08:33+00:00</updated>
<author>
<name>Bruce Ashfield</name>
<email>bruce.ashfield@windriver.com</email>
</author>
<published>2013-03-18T14:08:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-virtualization.git/commit/?id=5a16027bf0e1ce04ee34ca82df31bdd9c1241b5a'/>
<id>urn:sha1:5a16027bf0e1ce04ee34ca82df31bdd9c1241b5a</id>
<content type='text'>
As the number of meta-virtualization users grows, the need to document
various parts of the layer grows as well. Rather than rely only on
wiki and online docs, we'll create a layer-local holding tank for relevant
bits of documentation.

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