grub2/99-grub-mkconfig.install
Marta Lewandowska 5b940b00df Fix default behavior when GRUB_ENABLE_BLSCFG is not present
Currently on a kernel update, if GRUB_ENABLE_BLSCFG variable is not defined,
grub2-mkconfig is not executed but it should. Also RHEL 8 has two
grub.cfg stubs depending on how the system boots: /boot/grub2/grub.cfg for BIOS
and /efi/EFI/redhat/grub.cfg for UEFI. The following change fixes both issues.

Resolves: #RHEL-4319

Signed-off-by: Marta Lewandowska <mlewando@redhat.com>
Reviewed-by: Leo Sandoval <lsandova@redhat.com>
2024-11-13 10:57:07 -06:00

32 lines
652 B
Bash
Executable File

#!/bin/bash
if ! [[ $KERNEL_INSTALL_MACHINE_ID ]]; then
exit 0
fi
ARCH=$(uname -m)
[[ -f /etc/default/grub ]] && . /etc/default/grub
# Can't assume a BLS capable bootloader on ppc64
if [[ x$GRUB_ENABLE_BLSCFG = xtrue &&
$ARCH != "ppc64" && $ARCH != "ppc64le" ]]; then
exit 0
fi
COMMAND="$1"
grub_cfg=/boot/grub2/grub.cfg
if mountpoint -q /boot/efi; then
os_name=$(grep ^ID= /etc/os-release | sed -e 's/^ID=//' -e 's/rhel/redhat/' -e 's/\"//g')
grub_cfg=/boot/efi/EFI/$os_name/grub.cfg
fi
case "$COMMAND" in
add|remove)
grub2-mkconfig --no-grubenv-update -o $grub_cfg >& /dev/null
;;
*)
;;
esac