boot - Massage dloader.menu a bit more
authorMatthew Dillon <dillon@apollo.backplane.com>
Sun, 24 Oct 2010 02:32:03 +0000 (19:32 -0700)
committerMatthew Dillon <dillon@apollo.backplane.com>
Sun, 24 Oct 2010 02:32:03 +0000 (19:32 -0700)
* Don't present the 64-bit / 64-bit-smp boot options if the current default
  is already 64-bit.  The generic SMP boot option will still be presented
  if the current default is the 64-bit UP kernel.

sys/boot/dloader/dloader.menu

index bb93753..6d2c074 100644 (file)
@@ -31,14 +31,18 @@ ehci_load="YES"
 # Default boot /boot/kernel/ is the user-installed kernel and
 # is always checked first.  Otherwise fallback to generic kernels.
 #
+unset present64
 ifset default_kernel
     # already selected a kernel
 elseifexists kernel
     set default_kernel=kernel
+    set present64=1
 elseifexists kernel.GENERIC
     set default_kernel=kernel.GENERIC
+    set present64=1
 elseifexists kernel.GENERIC_SMP
     set default_kernel=kernel.GENERIC_SMP
+    set present64=1
 elseifexists kernel.X86_64_GENERIC
     set default_kernel=kernel.X86_64_GENERIC
 elseifexists kernel.X86_64_GENERIC_SMP
@@ -176,6 +180,7 @@ menuadd optinclude ${base}dloader.menu
 menuadd menu
 endif
 
+ifset present64
 ifexists ${base}kernel.X86_64_GENERIC
 menuitem x "Select 64-bit UP kernel"
 menuadd set default_kernel=kernel.X86_64_GENERIC
@@ -183,7 +188,9 @@ menuadd include ${base}defaults/dloader.menu
 menuadd optinclude ${base}dloader.menu
 menuadd menu
 endif
+endif
 
+ifset present64
 ifexists ${base}kernel.X86_64_GENERIC_SMP
 menuitem y "Select 64-bit SMP kernel"
 menuadd set default_kernel=kernel.X86_64_GENERIC_SMP
@@ -191,6 +198,9 @@ menuadd include ${base}defaults/dloader.menu
 menuadd optinclude ${base}dloader.menu
 menuadd menu
 endif
+endif
 
 menuitem R "Reboot"
 menuadd reboot
+
+unset present64