-
Notifications
You must be signed in to change notification settings - Fork 34
[WIP] feat: enable systemd-boot/UKIs support #978
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
Hi @p5. Thanks for your PR. I'm waiting for a coreos member to verify that this patch is reasonable to test. If it is, they should reply with Once the patch is verified, the new status will be reflected by the I understand the commands that are listed here. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Code Review
This pull request introduces initial support for systemd-boot
. It's a work-in-progress, adding a new systemd_boot_configs
module and modifying the EFI component installation logic to handle systemd-boot
entries and bootctl
.
My review focuses on correctness and robustness. I've found a few critical issues in the new systemd_boot_configs.rs
file related to incorrect path and UUID generation for the bootloader entries, which would likely prevent the system from booting. I've also pointed out a potential panic in efi.rs
due to an unsafe unwrap.
Additionally, there are several places where log::warn
is used for debugging; these should be reverted to more appropriate log levels. There are also some hardcoded values and logic that are marked as TODOs in the PR description, which I've also commented on for completeness.
Overall, this is a good start, and addressing the feedback will significantly improve the correctness and stability of the new functionality.
First I think we can add a build time option which entirely disables GRUB support. Then it's simple on UEFI platforms and where systemd-boot is in the target, we use it by default. But for dynamic detection one way to do this would be to detect if the target system is both:
Also of course, if the target image doesn't have grub then we should default to systemd-boot. |
Would you mind if I went straight for the dynamic detection? |
Yes of course that's fine!
Yeah, makes sense. |
This is nowhere near ready, and I highly doubt any of this code will make it's way into bootupd without major refactoring... I'm just trying to make something that works, without looking at the quality of code. And eventually start an early feedback cycle.
Info logs changed to warns as it was the easiest way to make them show up during
bootc install
.Current state is it throws you to emergency mode when booting into a UKI. Might be due to either ostree, or lack of root=UUID options.
TODO: