limit fai nfs export to host being installed
[automated-distro-installer] / fai / config / distro-install-common / libreboot_grub.cfg
index b48ea52889d2cff95d015242dcd410bef1e29370..69e1c52db3a1eaa3a4d543f350ca1f1c1fdff0cb 100644 (file)
@@ -10,11 +10,18 @@ function save_vars {
 }
 
 function save_chosen {
-    last_boot=$CHOSEN
     save_vars did_fai_check last_boot
 }
 
-# we don't set this to fai check so we can't get into
+# fai_check is so we can act like a pxe boot, but just for fai, and by
+# using /debian_bootstrap to do it.  We toggle on and off the grub var
+# did_fai_check so we can do the check every other boot. Then
+# /debian_bootstrap checks for that var on boot and if we want to do a
+# fai check, it does it, then reboots. But it also sets did_fai_check to
+# a 3rd state os_true which means we did the fai check, and we don't
+# want to do it again. This is useful for systems without libreboot.
+
+# We don't set this to fai check so we can't get into
 # an infinite reboot cycle. We depend on the os to
 # create the initial grubenv file.
 set default=/debianstable_bootstrap # could use 0 here.
@@ -24,7 +31,7 @@ for part in (ahci*4) (ata*4); do
     envfile=$part/grubenv
     if [ -s $envfile ]; then
         load_env --file $envfile
-        if [ x$did_fai_check != xtrue -a x$last_boot != x$default ]; then
+        if [ x$did_fai_check == xfalse -a x$last_boot != x$default ]; then
             set default=fai-check
         elif [ ! -z $last_boot ]; then
             set default=$last_boot
@@ -37,6 +44,10 @@ did_fai_check=false
 
 bs_dir=/debianstable_bootstrap
 menuentry $bs_dir --id=$bs_dir {
+    # note, we might be able to use $chosen and avoid setting this here,
+    # and set it inside save_chosen. but I haven't tested it,
+    # it's just one less line of repitition.
+    last_boot=$1
     save_chosen
     configfile $bs_dir/boot/grub/grub.cfg
 }
@@ -46,6 +57,7 @@ for dir in  /boot_*; do
         break
     fi
     menuentry $dir --id=$dir {
+        last_boot=$1
         save_chosen
         configfile $1/grub/grub.cfg
     }