Bug 2188322

Summary: GRUB_ENABLE_BLSCFG gets disabled upon kernel updates when running under Xen
Product: Red Hat Enterprise Linux 9 Reporter: Vitaly Kuznetsov <vkuznets>
Component: grub2Assignee: Bootloader engineering team <bootloader-eng-team>
Status: NEW --- QA Contact: Release Test Team <release-test-team>
Severity: unspecified Docs Contact:
Priority: low    
Version: 9.4CC: andavis, jaredz, libhe, linl, qzhang, xiliang, ymao
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Vitaly Kuznetsov 2023-04-20 13:22:36 UTC
GRUB_ENABLE_BLSCFG is forcefully set to "false" in /etc/default/grub after the first kernel update when VM is running under Xen hypervisor. This happens due to a faulty logic in /usr/lib/kernel/install.d/99-grub-mkconfig.install:

# 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

The check could probably be fine tuned to only affect Xen PV/PVH as the comment states (and not Xen HVM which is far more widespread) but RHEL9 does not support XEN PV and PVH at all as we have:
# CONFIG_XEN_PV is not set
in the kernel. RHEL9 only support Xen HVM to be able to run in AWS, there's no pygrub usage there.

This piece of logic can just go away in RHEL9 I believe.