20-grub.install: Skip BLS removal when entry type is type2

UKI(package is kernel-uki-virt) is a single, bootable file that
bundles everything needed to start a Linux system. It contains its own
bootable stub and bypasses GRUB2 completely. The kernel-core and
kernel-uki-virt can coexist in one machine. And both of them call
kernel-install remove <kversion> upon package removal and this leads
to the complete removal of both the traditional kernel & its
artifacts(initramfs, BLS entry file,...). For example, if the customer
remove kernel-uki-virt, currently it also removes BLS entry which
causes the regular kernel fails to boot up. In
https://github.com/systemd/systemd/pull/37897 it added
--entry-type=type1|type2 option to kernel-install. type1 stands for
normal kernel, type2 stands for uki. When kernel-install is invoked
with --entry-type=type2 which is for UKI, we should not remove the BLS
entry.

Resolves: #RHEL-108008

Signed-off-by: Yuxin Sun <yuxisun@redhat.com>
Signed-off-by: Leo Sandoval <lsandova@redhat.com>
This commit is contained in:
Leo Sandoval 2025-08-28 16:25:14 -06:00
parent c2bd8ad3b7
commit 5ce5f66d15
2 changed files with 11 additions and 1 deletions

View File

@ -173,6 +173,12 @@ case "$COMMAND" in
;;
remove)
# If the boot entry type is type2, we are not removing the BLS entry
if [[ "x${KERNEL_INSTALL_BOOT_ENTRY_TYPE}" = "xtype2" ]]; then
[ "${KERNEL_INSTALL_VERBOSE}" -gt 0 ] && echo "The boot entry type is type2. Skip removing BLS entry."
exit 0
fi
if [[ "x${GRUB_ENABLE_BLSCFG}" = "xtrue" ]] || [[ ! -f /sbin/new-kernel-pkg ]]; then
BLS_TARGET="${BLS_DIR}/${MACHINE_ID}-${KERNEL_VERSION}.conf"
BLS_FAKE_TARGET="${BLS_DIR}/ffffffffffffffffffffffffffffffff-${KERNEL_VERSION}.conf"

View File

@ -16,7 +16,7 @@
Name: grub2
Epoch: 1
Version: 2.06
Release: 113%{?dist}
Release: 114%{?dist}
Summary: Bootloader with support for Linux, Multiboot and more
License: GPLv3+
URL: http://www.gnu.org/software/grub/
@ -538,6 +538,10 @@ fi
%endif
%changelog
* Thu Aug 28 2025 Leo Sandoval <lsandova@redhat.com> 2.06-114
- 20-grub.install: Skip BLS removal when entry type is type2
- Resolves: #RHEL-108008
* Thu Aug 7 2025 Nicolas Frayer <nfrayer@redhat.com> 2.06-113
- sbat: add new sbat entry for centos
- Resolves: #RHEL-108060