Skip to content

Failing bootc update for composefs/UKI after recent GC changes #2074

Closed

Description

@marcoh00

Hello,

I'm currently running a bootc system with the composefs backend and an UKI. When I want to run bootc update, I'm presented with the following error:

RUST_LOG=debug bootc update
DEBUG argv0="bootc"
DEBUG exec: "findmnt" "-J" "-v" "--output=SOURCE,TARGET,MAJ:MIN,FSTYPE,OPTIONS,UUID" "--mountpoint" "/"
DEBUG Re-executing current process for _ostree_unshared
DEBUG argv0="bootc"
DEBUG exec: "findmnt" "-J" "-v" "--output=SOURCE,TARGET,MAJ:MIN,FSTYPE,OPTIONS,UUID" "--mountpoint" "/"
DEBUG Already in a mount namespace
DEBUG Target . is a mountpoint, remounting rw
DEBUG exec: "findmnt" "-J" "-v" "--output=SOURCE,TARGET,MAJ:MIN,FSTYPE,OPTIONS,UUID" "--mountpoint" "."
DEBUG exec: "lsblk" "-J" "-b" "-O" "/dev/mapper/root"
DEBUG exec: "lsblk" "-J" "-b" "-O" "--inverse" "/dev/mapper/root"
DEBUG exec: "lsblk" "-J" "-b" "-O" "/dev/nvme0n1"
 INFO Starting composefs upgrade operation message_id="9c8d7f6e5a4b3c2d1e0f9a8b7c6d5e4f3" bootc.operation="upgrade" bootc.apply_mode=false bootc.download_only=false bootc.from_downloaded=false
error: Upgrading composefs: Getting composefs deployment status: Getting composefs deployment status: Getting composefs deployment status: Listing bootloader entries: efi does not start with custom prefix

I had a quick look at the code and it seems there have been changes in the expected directory structure introduced in #2040 . However, it seems like the old structure is not migrated to the new one, blocking any direct upgrade path.

Activity

  1. Johan-Liebert1 commented on Mar 17, 2026

    @Johan-Liebert1
    Member

    This is a consequence of us changing our "binary" naming format such that the binaries we own has a custom prefix of sorts which would help with bookkeeping. Are you using systemd-boot or grub as the bootloader? For systemd-boot, the fix is quite simple (just to help you unblock until we get a permanent backwards compatible fix in), it's just to rename every file/dir in EFI/Linux/bootc to have the prefix bootc_composefs-.

    For grub unfortunately, the fix is a bit more complicated as it entails moving around stuff in the ESP

  2. marcoh00 commented on Mar 17, 2026

    @marcoh00
    Author

    Thanks for the quick reply!

    Indeed, I'm using systemd-boot. I renamed the .efi files and corrected the paths in loader/entries/* (besides that the system obviously wouldn't boot without these corrections, they're apparently also required for bootc to pick up the new paths and not fail).

    /efi/EFI/Linux/bootc # ls
    bootc_composefs-24f4e6c7cb2a1ab1b8c912fdcf6ebfb0779a38cb931af685d0b7309e5e3a1be2add1f01581b881eee52f6a1b0d0f8193f38609f405f5a314ad6ccd16fd5e58c4.efi
    bootc_composefs-45bb4a8faa27a5173d365aacce0a17fef90500f125de9b23fb798c7eb8768d1c81db256f4ac45e5543dc44795e0cd7207b26d71bd8c4f8a42e210390c4b8aefb.efi
    bootc_composefs-57ea216cdabd8cb58ea23030f3009aca87bb9445b6064eaac433335f102d187350549816474bc29e13768854b8b81e54db17709e47946dfcf59bb4683f299b88.efi
    bootc_composefs-79c2cc8dd7d0ea6a3d36ee47c9705c2d3b493e9ba04e0e80492323a870cf1f84c4b079285fc420b31a74531fcfe5ed2e012d0645f4dbc10b3df53961e53bd3f0.efi
    bootc_composefs-6384c8df61b5c62de9a1d36173dea388936e1e19d84d904d79f839d5f0f16e300608a535cd41d0be4c88220742221e7e90d11fab0f3b7298199218fa12e12f32.efi
    bootc_composefs-adc2b86c410f886a10c55ce399bd40ef95d7379698c8e2519528561470ca42df29f405ea586c6f12af1f1576b0160295cc3c7ba5d50987946d42849db86b6dd1.efi
    bootc_composefs-febad678b3227be16d4fb327a06dceb865f4c1cb0ac1248d4d0b00caffd03281aa70c92b7b8a8a54d21895613cdbbabee8773ef03bdb1543e1b2c90467f4f25c.efi
    

    Seems to work, thanks! Now I'm looking forward to get these actually cleaned up automatically, so thanks for your efforts in this regard as well :-)

  3. cgwalters commented on Mar 17, 2026

    @cgwalters
    Collaborator

    For systemd-boot, the fix is quite simple (just to help you unblock until we get a permanent backwards compatible fix in), it's just to rename every file/dir in EFI/Linux/bootc to have the prefix bootc_composefs-.

    We discussed this issue this morning and @Johan-Liebert1 is going to look at doing this automatically. I am going to pick back up #2060 for composefs and I think we'll aim to commit to having all future upgrades from here be as compatible as possible.

  4. Johan-Liebert1 commented on May 7, 2026

    @Johan-Liebert1
    Member

    This should be fixed with #2044

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions