alwaysInBeta Stable software is for the weak

Minor update on bootc

2025-03-31

In my previous post, I tried to build an Arch Linux VM image using bootc-image-builder and hit a bunch of problems:

In arch-bootc:

In bootc-image-builder:

Since then, I’ve filed some issues and a PR, learned more about how the different parts interact, and figured out an easier way to patch a Containerfile in place, so I wanted to write that up.

First, I created a PR for the Containerfile problems in arch-bootc which has since been merged, so there are fewer steps to use that image in my environment.

Second, I realized that it was much easier to non-interactively patch the Containerfile to not use local pkgbuilds:

sed -i /pkgbuilds/d Containerfile

Third, I experimented and discovered that (as I kinda suspected) the podman build step doesn’t need --device /dev/fuse.

As such, today the steps to reproduce my work can be boiled down to:

git clone --depth 1 https://github.com/frap129/arch-bootc.git
cd arch-bootc
sed -i /pkgbuilds/d Containerfile
sudo podman build . -t arch-bootc --net=host --cap-add all --security-opt=label=disable
mkdir output
sudo podman run \
    --rm \
    -it \
    --privileged \
    --pull=newer \
    --security-opt label=type:unconfined_t \
    -v ./output:/output \
    -v /var/lib/containers/storage:/var/lib/containers/storage \
    quay.io/centos-bootc/bootc-image-builder:latest \
    --type qcow2 \
    --use-librepo=True \
    --rootfs ext4 \
    localhost/arch-bootc

Also, I turned my bootc-image-builder problems into actual issues: