Skip to content

Save /boot structure as an image - #2380

Open
Johan-Liebert1 wants to merge 4 commits into
bootc-dev:mainfrom
Johan-Liebert1:save-boot-structure
Open

Save /boot structure as an image#2380
Johan-Liebert1 wants to merge 4 commits into
bootc-dev:mainfrom
Johan-Liebert1:save-boot-structure

Conversation

@Johan-Liebert1

@Johan-Liebert1 Johan-Liebert1 commented Aug 13, 2026

Copy link
Copy Markdown
Collaborator

For UKI booted systems we have a lot of stuff in /boot viz, UKI, UKI
Addons, UKI dumpfile, various UKI profiles and we may add more things in
the future. Currently we mask off /boot from the EROFS which leaves us
with a very inefficient way of reconstructint the filesystem from
splitstreams to get back what was in /boot

Instead, save a <verity>.boot EROFS in composefs/images/refs which
contains only the /boot directory. This is useful for installing UKI
addons from other deployments into the current one and also for GC-ing
UKI and respective addons which we currently do not


Make use of the saved .boot EROFS to GC everything in the boot
directory of the deployment being GC'd

Closes: composefs/composefs-rs#373

@bootc-bot
bootc-bot Bot requested a review from jmarrero August 13, 2026 03:53
For UKI booted systems we have a lot of stuff in `/boot` viz, UKI, UKI
Addons, UKI dumpfile, various UKI profiles and we may add more things in
the future. Currently we mask off `/boot` from the EROFS which leaves us
with a very inefficient way of reconstructint the filesystem from
splitstreams to get back what was in `/boot`

Instead, save a `<verity>.boot` EROFS in `composefs/images/refs` which
contains only the `/boot` directory. This is useful for installing UKI
addons from other deployments into the current one and also for GC-ing
UKI and respective addons which we currently do not

Signed-off-by: Pragyan Poudyal <pragyanpoudyal41999@gmail.com>
Make use of the saved `.boot` EROFS to GC everything in the boot
directory of the deployment being GC'd

Signed-off-by: Pragyan Poudyal <pragyanpoudyal41999@gmail.com>
Signed-off-by: Pragyan Poudyal <pragyanpoudyal41999@gmail.com>
Test whether UKI assets are being cleaned up from the objects directory
during GC

Signed-off-by: Pragyan Poudyal <pragyanpoudyal41999@gmail.com>
@cgwalters

Copy link
Copy Markdown
Collaborator

Why can't we just read the non-bootable tree? That's already supported in composefs-rs directly - the same filesystem tree one would get to run as a container image. Yes, we won't have e.g. SELinux labeling, but that's not a problem.

@cgwalters cgwalters left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

See above

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.

erofs: Save /boot's structure when creating an image using --bootable

2 participants