composefs backend lacks garbage collection for /boot and sysroot
Observed:
After running a few updates, /boot/EFI/Linux fills up and prevents bootc update from finishing, which leaves the system in a bad state.
/sysroot/composefs/images also doesn't appear to be pruned after updates.
Expected: After an update, any un-reachable kernels and composefs images would be removed, freeing disk space. Un-reachable probably means that it's not listed in a boot loader entry somewhere, but there may be more nuance.
Thanks for making the composefs backend, we're having tons of fun with Debian :)
cc https://github.com/containers/composefs-rs/issues/196
Would it make sense to first start GCing boot entries here in bootc and then hooking up the relevant areas in composefs to clean up the images where the boot entry no longer exists? Or is there another plan for GC in the composefs backend?
Currently bootc doesn't have automatic gc for composefs backend, but it does have a GC command which should clean up boot entries and dangling objects in the composefs repository. There'll be some substantial changes in the composefs repository when https://github.com/containers/composefs-rs/pull/185 lands
thanks for your response @Johan-Liebert1. I see bootc internals cfs gc which seems to work on the composefs repo, but what is the command to gc the boot entries? Is there anything that specifically cleans up \EFI\Linux?