Skip to content

Add Fedora support#458

Draft
jfroche wants to merge 15 commits intomainfrom
fedora-support
Draft

Add Fedora support#458
jfroche wants to merge 15 commits intomainfrom
fedora-support

Conversation

@jfroche
Copy link
Copy Markdown
Member

@jfroche jfroche commented Apr 14, 2026

Add container and VM tests for Fedora 43.
Unfortunately we have to restrict to x86_64-linux because libguestfs-appliance is not available on aarch64 in nixpkgs.

Requires numtide/nix-vm-test#169

jfroche added 4 commits April 14, 2026 13:42
Extend buildRootfs with a cloudImgFormat parameter to support extracting
from qcow2 images using libguestfs-with-appliance.

Add a debian-13 distro entry fetching the genericcloud qcow2 from cloud.debian.org. 

Unfortunately we have to restrict to x86_64-linux because libguestfs-appliance is not available on aarch64 in nixpkgs.
Generalize forEachUbuntuImage to forEachImage and iterates over both ubuntu and debian distros from nix-vm-test.
@jfroche jfroche changed the title Fedora support Add Fedora support Apr 14, 2026
jfroche added 7 commits April 15, 2026 22:21
Extract the URL + sha256 pairs from lib/container-test-driver/distros.nix
into lib/container-test-driver/images.json. This should make it easier
to update cloud image versions in the future.
Add a new cloudImgFormat = "disk-tarball" path to buildRootfs that
unpacks Debian's *-genericcloud-*.tar.xz, extracts the largest GPT
partition with sfdisk + dd, and dumps its ext4 contents. 

All required tools are cross-architecture in nixpkgs, unlike the
previous qcow2 path that depended on libguestfs-with-appliance
(which is x86_64 only).

Switch debian-13 over to the new format and add aarch64-linux to
its images.json entry.

The qcow2 branch stays in place for future distros that only publish qcow2.
The update script is modeled on numtide/nix-vm-test's scripts/update-images.py
but adapted to our needs: Ubuntu *-root.tar.xz rootfs tarballs instead of
qcow2 disk images, Debian genericcloud instead of generic.
Run tools/update-images.py on a Monday-morning cron and open a PR
with any URL/hash diffs, mirroring update-nix-version.yml.
@jfroche jfroche force-pushed the debian-support branch 3 times, most recently from aea2801 to 17df131 Compare April 23, 2026 16:08
Base automatically changed from debian-support to main April 23, 2026 16:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant