Open
Description
systemd-boot has a lot of uptake and is very simple for the UEFI path. We need to support it.
One thing this deeply intersects with is ostreedev/ostree#2753 and ostreedev/ostree#1951 as well as #20
I think with the new composefs/composefs#332 we could try doing a "big bang" where we:
- Teach bootloader.rs how to detect and install systemd-boot (trivial)
- Have a mode where we basically drop all the ostree stuff out of the container image...we make a merged composefs client side from the container image content and for good measure just do all the selinux labeling client side to start (ref OCI SELinux labeling mismatch when package only ships binary policy - greetd is broken ostreedev/ostree-rs-ext#510 - though we could also start honoring
security.selinux
in the tar stream) - Deploying an image also copies the UKI out into the ESP (and we use the UKIs as a garbage collection root for the objects)
- For
/etc
it is tempting to try switching to what flatcar does by default where we change to using an overlayfs for/etc
with the lowerdir, but we could also automatically do the/usr/etc
handling in our image (reusing the ostree code...either way); a challenge in this is we document configuring things inostree-prepare-root.conf
today but we could start parsing those options in bootc instead. - We could hence then potentially start by dropping
ostree-prepare-root.service
from the initramfs and have a spike on what it'd look like to move the mount logic in the initramfs maybe in this project.