Merge pull request #408 from mjg59/master

Don't read OEM config data if Secure Boot is enabled
This commit is contained in:
mjg59 2015-05-12 17:32:15 -07:00
commit 7bde8bf232
2 changed files with 15 additions and 4 deletions

View File

@ -18,11 +18,22 @@ set linux_console=""
# Anything else the OEM adds should use this variable.
set linux_append=""
set secure_boot="0"
if [ "$grub_platform" = "efi" ]; then
getenv -e SecureBoot -g 8be4df61-93ca-11d2-aa0d-00e098032b8c -b sb
getenv -e SetupMode -g 8be4df61-93ca-11d2-aa0d-00e098032b8c -b setupmode
if [ "$sb" = "01" -a "$setupmode" = "00" ]; then
set secure_boot="1"
fi
fi
# Search for the OEM partition, load additional configuration if found.
search --no-floppy --set oem --part-label OEM --hint "$root"
if [ -n "$oem" -a -f "($oem)/grub.cfg" ]; then
source "($oem)/grub.cfg"
if [ "$secure_boot" = "0" ]; then
search --no-floppy --set oem --part-label OEM --hint "$root"
if [ -n "$oem" -a -f "($oem)/grub.cfg" ]; then
source "($oem)/grub.cfg"
fi
fi
# If no specific console has been set by the OEM then select based on

View File

@ -41,7 +41,7 @@ case "${FLAGS_target}" in
CORE_NAME="core.img"
;;
x86_64-efi)
CORE_MODULES+=( serial linuxefi efi_gop )
CORE_MODULES+=( serial linuxefi efi_gop getenv )
CORE_NAME="core.efi"
;;
x86_64-xen)