grub2/debian/patches/mkconfig_signed_kernel.patch
Colin Watson 98225b3c0c GRUB 2.02~beta2
-----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.15 (GNU/Linux)
 
 iF4EABEKAAYFAlK59GEACgkQmBXlbbo5nOsmAwEAnZLNLvM5R9KZ50NuZ+d+DxGi
 pf3Gv77G5q3O6/RdGYAA/RJHqb1Cts8t9qHlhKWWWrYm1+Inpi/BtUicPWuDGsaM
 =XOHl
 -----END PGP SIGNATURE-----

Merge tag 'grub-2.02-beta2' into experimental

GRUB 2.02~beta2
2013-12-25 23:49:02 +00:00

41 lines
1.4 KiB
Diff

Description: Generate configuration for signed UEFI kernels if available
Author: Colin Watson <cjwatson@ubuntu.com>
Forwarded: no
Last-Update: 2013-12-25
Index: b/util/grub.d/10_linux.in
===================================================================
--- a/util/grub.d/10_linux.in
+++ b/util/grub.d/10_linux.in
@@ -149,8 +149,16 @@
message="$(gettext_printf "Loading Linux %s ..." ${version})"
sed "s/^/$submenu_indentation/" << EOF
echo '$(echo "$message" | grub_quote)'
+EOF
+ if test -d /sys/firmware/efi && test -e "${linux}.efi.signed"; then
+ sed "s/^/$submenu_indentation/" << EOF
+ linux ${rel_dirname}/${basename}.efi.signed root=${linux_root_device_thisversion} ro ${args}
+EOF
+ else
+ sed "s/^/$submenu_indentation/" << EOF
linux ${rel_dirname}/${basename} root=${linux_root_device_thisversion} ro ${args}
EOF
+ fi
if test -n "${initrd}" ; then
# TRANSLATORS: ramdisk isn't identifier. Should be translated.
message="$(gettext_printf "Loading initial ramdisk ...")"
@@ -196,6 +204,13 @@
is_top_level=true
while [ "x$list" != "x" ] ; do
linux=`version_find_latest $list`
+ case $linux in
+ *.efi.signed)
+ # We handle these in linux_entry.
+ list=`echo $list | tr ' ' '\n' | grep -vx $linux | tr '\n' ' '`
+ continue
+ ;;
+ esac
gettext_printf "Found linux image: %s\n" "$linux" >&2
basename=`basename $linux`
dirname=`dirname $linux`