mirror of
https://src.fedoraproject.org/rpms/grub2.git
synced 2024-11-24 14:32:58 +00:00
99-grub-mkconfig: Also disable BLS usage for Xen Dom0 hosts
A previous patch disabled BLS usage for Xen Dom0 guests but it turns out that Xen Dom0 hosts also need to regenerate a GRUB config file since the menuentries used aren't the generated by 10_linux but by 20_linux_xen. Resolves: rhbz#1761799 Signed-off-by: Javier Martinez Canillas <javierm@redhat.com> Tested-by: Steven Haigh <netwiz@crc.id.au>
This commit is contained in:
parent
ac6bc3ed8d
commit
2e8e92930e
1 changed files with 17 additions and 12 deletions
|
@ -4,24 +4,29 @@ if ! [[ $KERNEL_INSTALL_MACHINE_ID ]]; then
|
|||
exit 0
|
||||
fi
|
||||
|
||||
# A "control_d" string in /proc/xen/capabilities indicates that is a Xen Dom0 host.
|
||||
[[ -e /sys/hypervisor/type ]] && read HV_TYPE < /sys/hypervisor/type
|
||||
[[ -e /proc/xen/capabilities ]] && grep -q "control_d" /proc/xen/capabilities && XEN_DOM0=true
|
||||
|
||||
if [[ $HV_TYPE = "xen" && $XEN_DOM0 != "true" ]]; then
|
||||
# PV and PVH Xen DomU guests boot with pygrub that doesn't have BLS support,
|
||||
# also Xen Dom0 use the menuentries from 20_linux_xen and not the ones from
|
||||
# 10_linux. So BLS support needs to be disabled for both Xen Dom0 and DomU.
|
||||
if [[ -e /sys/hypervisor/type ]] && grep -q "^xen$" /sys/hypervisor/type; then
|
||||
RUN_MKCONFIG=true
|
||||
DISABLE_BLS=true
|
||||
fi
|
||||
|
||||
ARCH=$(uname -m)
|
||||
# Older ppc64le OPAL firmware don't have BLS support so grub2-mkconfig has to
|
||||
# be run to generate a GRUB config file that contains menuentry commands.
|
||||
if [[ $ARCH = "ppc64le" ]]; then
|
||||
RUN_MKCONFIG=true
|
||||
fi
|
||||
|
||||
if [[ $DISABLE_BLS = "true" ]]; then
|
||||
if grep -q '^GRUB_ENABLE_BLSCFG="*true"*\s*$' /etc/default/grub; then
|
||||
sed -i 's/^GRUB_ENABLE_BLSCFG=.*/GRUB_ENABLE_BLSCFG=false/' /etc/default/grub
|
||||
fi
|
||||
fi
|
||||
|
||||
ARCH=$(uname -m)
|
||||
if [[ $ARCH = "ppc64le" ]]; then
|
||||
RUN_MKCONFIG=true
|
||||
fi
|
||||
|
||||
# A traditional grub configuration file needs to be generated only for ppc64le and
|
||||
# Xen DomU guests since we can't assume that bootloaders will be BLS capable there.
|
||||
# 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
|
||||
|
|
Loading…
Reference in a new issue