bootc-dev / bootc-dev/bootc

Composefs mismatch when built with buildah Github action, but not when built locally via podman

Offen
#2,194 9 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Vorherrschende Sprache
Rust
Sterne
2.3k
Forks
230
Ø Merge
3 T. 3 Std.
Gemergte PRs (30 T.)
36

Beschreibung

Hi,
an experimental proof-of-concept build pipeline of a sealed arch-bootc image fails with a composefs mismatch, when I try to install it to filesystem. Repo with build pipeline via Github action and usage of buildah-build: https://github.com/PhysicsIsAwesome/arch-bootc-sealed
Updating bootc-dev-actions/bootc-ubuntu-setup@main to get packages from the latest Ubuntu 26.04 did not help.

Surprisingly, if I build the same containerfiles locally with podman on Arch, writing it to filesystem works without issues.

Justfile for writing to filesystem:
```Justfile
write-to-fs $image_name="ghcr.io/physicsisawesome/arch-bootc-sealed":
#!/usr/bin/env bash
umount /mnt/archbootc/boot || echo "not mounted"
umount /mnt/archbootc || echo "not mounted"
cryptsetup open /dev/vdc2 my-luks
mount -o subvol=@ /dev/mapper/my-luks /mnt/archbootc
mkdir /mnt/archbootc/boot
mount /dev/vdc1 /mnt/archbootc/boot
rm -rf /mnt/archbootc/ || echo "ok"
podman pull ${image_name}
podman run --rm --privileged --pid=host -v /:/target -v /dev:/dev -v /var/lib/containers:/var/lib/containers -e RUST_LOG=debug ${image_name} bootc install to-filesystem --composefs-backend --bootloader systemd --boot-mount-spec UUID=A775-A613 /target/mnt/archbootc
umount /mnt/archbootc/boot
umount /mnt/archbootc
```

Log for `write-to-fs`: https://pastebin.com/ebM6brJ7

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Beginne damit, die Abweichung mit dem verlinkten GitHub Actions-Build und dem lokalen Podman-Build zu reproduzieren, führe dann den gezeigten Befehl `bootc install to-filesystem` aus und vergleiche die composefs-bezogenen Ausgaben im verlinkten Log. Verfolge den Einstiegspunkt von `bootc install to-filesystem` und ermittle, warum die beiden Image-Builds unterschiedliche composefs-Metadaten erzeugen. Als erledigt gilt die Aufgabe, wenn das vom Action-Build erstellte Image erfolgreich installiert wird oder der Unterschied mit einem Regressionstest diagnostiziert ist.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
arch-linux, github-actions, rust
Bereich
ci-cd, operating-systems
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Ruhig
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
45/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.