Secure Boot GRUB template: be more dynamic + don't overwrite with empty variable
[grml-live.git] / templates / secureboot / grub.cfg
index b378aab..b5010f3 100644 (file)
@@ -3,26 +3,24 @@ export grml_orig_prefix
 set grml_orig_root=$root
 export grml_orig_root
 
-set prefix=(hd0)/boot/grub/
-set root=(hd0)
-source (hd0)/boot/grub/grmlenv.cfg
-set prefix=(hd0)/boot/grub/
+search.file /boot/grub/grmlenv.cfg root
+set prefix=($root)/boot/grub/
+source ($root)/boot/grub/grmlenv.cfg
 
 if [ "$grml_secureboot" = false ] ; then
-  set root=(hd0)
   configfile /boot/grub/grub.cfg
+  # if that fails we need to fallback, but how?
 else
-  set prefix=$grml_orig_prefix
-  set root=$grml_orig_root
-
-  set timeout=20
-  set root=(hd0)
+  if [ "$grml_orig_prefix" != "" ] ; then
+    set prefix=$grml_orig_prefix
+  fi
 
   # this is basically a copy of templates/boot/grub/header.cfg but to avoid
   # failures due to Secure Boot restrictions and sourcing addons.cfg via
   # /boot/grub/loopback.cfg (and then showing entries that are at the wrong
   # position as well as don't work at all) we have to specify the appropriate
   # config here
+  set timeout=20
   if loadfont /boot/grub/ascii.pf2 ; then
     set gfxmode=auto
     insmod efi_gop