GrubCC binary integration#2223
Conversation
There was a problem hiding this comment.
Code Review
This pull request introduces support for GrubCC (Grub for Confidential Clusters) as a bootloader option, updating the Dockerfile to fetch the grub-cc RPM and adapting boot setup, status, rollback, and update validation logic across the codebase. The review comments identify several critical issues: the grub-cc download in the Dockerfile needs to be guarded for x86_64 and use curl -f to prevent silent failures; the deletion of boot/grub2 should check for existence first to avoid aborting the installation; the FromStr implementation for Bootloader must be updated to parse "grub-cc"; and the EFI loader info check for "GRUB CC" should be case-insensitive for robustness.
Important
The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.
Add GrubCC (Grub ConfidentialClusters) as a new bootloader option. This is a minimal version of grub that's supposed to work exactly like systemd-boot Fixes: bootc-dev#2212 Signed-off-by: Johan-Liebert1 <pragyanpoudyal41999@gmail.com>
Only run grub-cc tests for f45 for now Signed-off-by: Pragyan Poudyal <pragyanpoudyal41999@gmail.com>
| None, | ||
| )?; | ||
|
|
||
| // FIXME: Remove this hack once we have support in bootupd |
There was a problem hiding this comment.
Yes, but it'd be clearer if this was in the conditional above right? Wouldn't bootupd bail in this scenario as is now?
There was a problem hiding this comment.
Yes, bootupd will fail if it's only grub-cc, but another hack is that we don't remove grub from the Dockerfile currently. We keep it alongside the grub-cc binary. So bootupd installs grub, shim etc and afterwards we replace the grubx64.efi with grub-cc.efi. It's not clean
The two variants in this enum distinguish between Grub classic and BLS compatible bootloader (GrubCC and SystemdBoot). This cleans up the match statements where we perform the same op for GrubCC and SystemdBoot Signed-off-by: Pragyan Poudyal <pragyanpoudyal41999@gmail.com>
Signed-off-by: Pragyan Poudyal <pragyanpoudyal41999@gmail.com>
Signed-off-by: Pragyan Poudyal <pragyanpoudyal41999@gmail.com>
Add GrubCC (Grub ConfidentialClusters) as a new bootloader option. This
is a minimal version of grub that's supposed to work exactly like
systemd-boot
Fixes: #2212