---
title: "BCVK: A Local Test Bench for Bootable OS Images"
description: "BCVK is a local test bench for bootable container OS images. See how one OCI artifact moves through ephemeral, persistent, and disk-image modes before it reaches real hosts."
---

# BCVK: A Local Test Bench for Bootable OS Images

**Type:** [Architecture](https://yomu.fyi/visual-explainers/category/architecture.md)

![Architecture diagram showing one bootable OCI image feeding a local Podman and libvirt harness, which branches into ephemeral, persistent, and disk-image tracks before deployment to virtual or physical hosts.](https://yomufyi.s3.us-east-1.amazonaws.com/visual-explainers/053a42fd-a285-4c64-b088-338180d4dcdd/image-f1e16847-982e-4c5c-bd7a-7007da0a8f12.webp)

> BCVK is a local test bench for bootable container OS images. See how one OCI artifact moves through ephemeral, persistent, and disk-image modes before it reaches real hosts.

## Explanation

BCVK packages the bootc virtualization workflow so an OS image is built once as an OCI container and exercised locally with Podman and libvirt. The architecture has three bounded layers: the image artifact, the local VM harness, and three deployment tracks—ephemeral for fast checks, persistent for ongoing development, and disk image for producing bootable artifacts. The decision is which track gives enough confidence before promoting the same image to virtual or physical hosts. That keeps configuration drift visible early instead of discovering it during rollout.

## FAQ

### When should I use ephemeral versus persistent BCVK mode?

Use ephemeral mode for rapid, disposable checks of a bootc image, and persistent mode when you need a longer-lived development environment across repeated iterations. Disk-image mode is the track for producing a bootable artifact rather than just exercising the image locally.

### What does the local harness actually add to a bootc image test?

The harness runs the bootable container image in local VMs using Podman and libvirt, so you can exercise boot and deployment behavior on a laptop. It is positioned as end-to-end testing before the same image is deployed to virtual or physical infrastructure.

### Why does packaging the OS as an OCI image reduce drift?

The image carries the kernel, initrd, bootloader, and applications as one artifact, so the same source can be tested locally and deployed across virtual and physical hosts. That reduces the configuration differences that creep in when hosts are assembled separately.

**Tags:** [BCVK](https://yomu.fyi/topic/bcvk.md), [bootc](https://yomu.fyi/topic/bootc.md), [Containers](https://yomu.fyi/topic/containers.md), [Podman](https://yomu.fyi/topic/podman.md), [Testing](https://yomu.fyi/topic/testing.md), [Virtualization](https://yomu.fyi/topic/virtualization.md)

## Related reading

### [Code, Test, and Deploy on One Machine with NVIDIA RTX Spark](https://yomu.fyi/post/code-test-and-deploy-on-one-machine-with-nvidia-rtx-spark.md)
- Company: [NVIDIA](https://yomu.fyi/company/nvidia-developer-blog.md)
- Author: Elizabeth Goodman
- Published: Oct 16, 2026
- Type: Announcement

NVIDIA RTX Spark consolidates AI development onto a single machine by integrating the GB10 system-on-a-chip, up to 128GB unified memory, a Blackwell GPU with 1 petaflop of FP4 compute, and a Grace CPU. This eliminates the split across laptop, cloud API, and cloud VM, enabling local coding agents and reducing token consumption through hybrid prompt routers. Compared with Intel Panther Lake, RTX Spark delivers 4.6x faster coding-agent performance, 2.7x faster fine-tuning, and 1.8x faster compilation. A partnership with Microsoft provides Windows Developer Config, WSL optimizations, native PyTorch-CUDA, Python 3.15, and over 2,000 Conda packages for Arm. Local agents like GitHub Copilot, Pi, and Junie are optimized, and decision models in llama.cpp and Unsloth offer near-instant actions while the Nemotron 3.5 Bolt model fits in 24GB using 2-bit quantization.


### [Building fast filesystems for VMs](https://yomu.fyi/post/building-fast-filesystems-for-vms.md)
- Company: [Modal](https://yomu.fyi/company/modal.md)
- Author: Nitin Maddi
- Published: Oct 16, 2026
- Type: Problem & solution

Modal’s VM Sandboxes originally used virtio-fs on top of ImageFS, a lazy-loading FUSE filesystem. This stack caused severe performance degradation: recursive chown took over a minute instead of seconds, and tools like bun install and ripgrep ran three times slower. Analysis revealed that every metadata operation like chown required three round trips from the guest VM to the host, each incurring approximately 99 µs overhead. Modal replaced virtio-fs with ImageFS-blk, a block-level solution that presents a virtual block device to the guest, letting the kernel manage its own filesystem. The new approach delivers dramatic speedups: chown dropped from 9.87 to 0.21 seconds, and bun install fell from 12.5 to 1.07 seconds, often exceeding even direct ImageFS performance.


### [Agentic Development: Time to Shift the Focus](https://yomu.fyi/post/agentic-development-time-to-shift-the-focus.md)
- Company: [Auth0](https://yomu.fyi/company/auth0.md)
- Author: Riccardo Cocetta
- Published: Oct 16, 2026
- Type: Problem & solution

The post argues that the ability to go from idea to pull request using AI agents is now a commoditized problem, with two main approaches: vibe coding for rapid prototyping and human-supervised agentic development for mature products. The real challenges lie in deciding what to build—using criteria such as customer value, clear objectives, product fit, and financial strategy—and validating that the generated code is safe to ship. Validation must cover functional correctness, performance, security, resilience, compliance, and internal code quality using tools like unit tests, contract tests, AI-generated runtime tests, DAST, SAST, dependency scanning, code quality analysis, LLM-based code review, progressive rollout, and formal methods. A risk-based approach applies deeper validation to high-risk components—such as security-critical or data-damaging code—while allowing automated merges for low-risk areas like documentation or demo apps. The focus should shift from code generation to crisp product definition and robust verification pipelines.


### [Test and deploy bootable containers with bootc virtualization kit (bcvk)](https://yomu.fyi/post/test-and-deploy-bootable-containers-with-bootc-virtualization-kit-bcvk.md)
- Company: [Red Hat](https://yomu.fyi/company/red-hat.md)
- Author: Andre Luiz Facina
- Published: Oct 13, 2026
- Type: Tutorial

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.
