Author: eelco
Date: Sun Jul 17 11:42:44 2011
New Revision: 27807
URL: https://svn.nixos.org/websvn/nix/?rev=27807&sc=1
Log:
* Support booting into another GRUB boot entry via ‘grub-reboot’.
This requires grub.conf to honour the saved_entry GRUB environment
variable.
Modified:
nixos/trunk/modules/installer/grub/grub-menu-builder.sh
Modified: nixos/trunk/modules/installer/grub/grub-menu-builder.sh
==============================================================================
--- nixos/trunk/modules/installer/grub/grub-menu-builder.sh Sun Jul 17
11:01:31 2011 (r27806)
+++ nixos/trunk/modules/installer/grub/grub-menu-builder.sh Sun Jul 17
11:42:44 2011 (r27807)
@@ -59,8 +59,27 @@
cp -f @grub@/share/grub/unicode.pf2 /boot/grub/unicode.pf2
cat > "$1" <<EOF
# Automatically generated. DO NOT EDIT THIS FILE!
-set default=@default@
-set timeout=@timeout@
+
+if [ -s \$prefix/grubenv ]; then
+ load_env
+fi
+
+# ‘grub-reboot’ sets a one-time saved entry, which we process here and
+# then delete.
+if [ "\${saved_entry}" ]; then
+ # The next line *has* to look exactly like this, otherwise KDM's
+ # reboot feature won't work properly with GRUB 2.
+ set default="\${saved_entry}"
+ set saved_entry=
+ set prev_saved_entry=
+ save_env saved_entry
+ save_env prev_saved_entry
+ set timeout=1
+else
+ set default=@default@
+ set timeout=@timeout@
+fi
+
if loadfont $bootRoot/grub/unicode.pf2; then
set gfxmode=640x480
insmod gfxterm
_______________________________________________
nix-commits mailing list
[email protected]
http://mail.cs.uu.nl/mailman/listinfo/nix-commits