Red HatAndre Luiz FacinaTutorial
Test and deploy bootable containers with bootc virtualization kit (bcvk)
Summary
Managing a traditional operating system across multiple hosts often leads to configuration drift, slow updates, and painful rollbacks. Bootable containers solve this by packaging the entire OS as an OCI container image, including the kernel, initrd, bootloader, and applications. Red Hat Enterprise Linux 10 introduced image mode deployment, and the bootc container virtualization kit (bcvk) enables end-to-end testing of these images on a laptop using familiar Podman and libvirt packages. The tool offers three deployment modes: ephemeral for rapid testing, persistent for long-term development, and disk image for creating bootable artifacts. Users build a custom bootc image via a Containerfile with the containers.bootc=1 label, then deploy it identically across virtual and physical infrastructure, reducing environmental drift.
Context
Managing a traditional operating system across multiple hosts often leads to configuration drift, slow updates, and painful rollbacks. Red Hat Enterprise Linux 10 introduced image mode deployment, allowing operating systems to be managed as OCI container images (bootc images).
Approach / What changed
The bootc container virtualization kit (bcvk) provides three deployment modes: ephemeral for rapid testing, persistent (libvirt) for long-term development, and disk image for creating bootable artifacts. Users build a custom bootc image using a Containerfile with the containers.bootc=1 label, then deploy it identically across environments using bcvk commands.
Takeaways
Bootable containers package the entire OS (kernel, initrd, bootloader, applications) as an OCI container image, enabling consistent management across environments.
The bcvk tool offers three deployment modes: ephemeral (wiped on exit), persistent (survives reboots), and disk image (output artifact), each suited for different stages of development.
To use bcvk, you need RHEL 10, a Red Hat subscription, connectivity to an OCI registry, Podman, and libvirt for persistent VMs; install via dnf from EPEL.
FAQ
What are the three deployment modes in bcvk?
The three modes are ephemeral (run) for rapid testing with no persistence, persistent (libvirt) for long-term development with full persistence, and disk image (to-disk) for creating bootable disk images.
How do I build a custom bootc image for use with bcvk?
Create a Containerfile that starts from a bootc base image, adds the containers.bootc=1 label, and includes customizations. Then build it with podman build and verify with bcvk images list.
What are the prerequisites for using bcvk?
You need a physical host running RHEL 10 with an active Red Hat subscription, connectivity to an OCI image repository, a valid account in that registry, and Podman configured. Install bcvk via dnf from EPEL.
Source and freshness
- Source
- developers.redhat.com
- Published
- Added to Yomu
Summaries are generated from the original by a language model. Check the original before relying on it.
Keep reading
Related reading
The Good Stuff
Paid picks we use ourselves. Links carry a referral code — a subscription through one earns us a commission at no extra cost to you.
The best engineering reads, once a week
One useful email. Unsubscribe anytime.