grub2/grub2-secureboot-use-linuxefi-on-uefi-in-os-prober.patch
Jiri Slaby 608d5e43ad Accepting request 179591 from home:arvidjaar:grub2-next
Now Fedora is using trunk as well, just serialized - every commit
as separate patch on top of base 2.00 version. So we are not alone
and can move along.

Please test.

OBS-URL: https://build.opensuse.org/request/show/179591
OBS-URL: https://build.opensuse.org/package/show/Base:System/grub2?expand=0&rev=42
2013-06-18 17:11:34 +00:00

55 lines
1.6 KiB
Diff

From: Andrey Borzenkov <arvidjaar@gmail.com>
Subject: use linuxefi/initrdefi for Linux in 30_os-prober if secure boot is enabled
Reference: bnc#810912
Emit linuxefi/initrdefi for os-prober detected Linux installations if
secure boot is enabled.
Index: grub-2.00/util/grub.d/30_os-prober.in
===================================================================
--- grub-2.00.orig/util/grub.d/30_os-prober.in
+++ grub-2.00/util/grub.d/30_os-prober.in
@@ -41,6 +41,15 @@ if [ -z "${OSPROBED}" ] ; then
exit 0
fi
+# If secure boot is enabled, use linuxefi/initrdefi for Linux (bnc#810912)
+if [ -d /sys/firmware/efi ] && [ "x${GRUB_USE_LINUXEFI}" = "xtrue" ]; then
+ LINUX_LOADER_CMD=linuxefi
+ LINUX_INITRD_CMD=initrdefi
+else
+ LINUX_LOADER_CMD=linux
+ LINUX_INITRD_CMD=initrd
+fi
+
osx_entry() {
if [ x$2 = x32 ]; then
# TRANSLATORS: it refers to kernel architecture (32-bit)
@@ -216,11 +225,11 @@ EOF
save_default_entry | grub_add_tab
printf '%s\n' "${prepare_boot_cache}"
cat << EOF
- linux ${LKERNEL} ${LPARAMS}
+ ${LINUX_LOADER_CMD} ${LKERNEL} ${LPARAMS}
EOF
if [ -n "${LINITRD}" ] ; then
cat << EOF
- initrd ${LINITRD}
+ ${LINUX_INITRD_CMD} ${LINITRD}
EOF
fi
cat << EOF
@@ -236,11 +245,11 @@ EOF
save_default_entry | sed -e "s/^/$grub_tab$grub_tab/"
printf '%s\n' "${prepare_boot_cache}" | grub_add_tab
cat << EOF
- linux ${LKERNEL} ${LPARAMS}
+ ${LINUX_LOADER_CMD} ${LKERNEL} ${LPARAMS}
EOF
if [ -n "${LINITRD}" ] ; then
cat << EOF
- initrd ${LINITRD}
+ ${LINUX_INITRD_CMD} ${LINITRD}
EOF
fi
cat << EOF