42 lines
1.0 KiB
Bash
Executable File
42 lines
1.0 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
if ! [[ $KERNEL_INSTALL_MACHINE_ID ]]; then
|
|
exit 0
|
|
fi
|
|
|
|
ARCH=$(uname -m)
|
|
|
|
[[ -f /etc/default/grub ]] && . /etc/default/grub
|
|
|
|
# Assume GRUB_ENABLE_BLSCFG is true if
|
|
# GRUB_ENABLE_BLSCFG is not set, e.g. /etc/default/grub does not exist
|
|
# GRUB_ENABLE_BLSCFG is set to true
|
|
if [[ x$GRUB_ENABLE_BLSCFG != xfalse ]]; then
|
|
# Can't assume a BLS capable bootloader on ppc64
|
|
if [[ $ARCH = "ppc64" || $ARCH = "ppc64le" ]]; then
|
|
RUN_MKCONFIG="true"
|
|
fi
|
|
fi
|
|
|
|
# A traditional grub configuration file needs to be generated only in the case when
|
|
# the bootloaders are not capable of populating a menu entry from the BLS fragments.
|
|
if [[ $RUN_MKCONFIG != "true" ]]; 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
|