Hello,
I am using Debian GNU/Linux as my primary system. As a loader I am using GRUB.
Actually I have upgraded to GRUB2. I don't know, if it was feature of original
(legacy) GRUB or it was functionality provided by debian scripts (update-grub),
for generating menu.lst. There was feature - howmany. This option specifies
number of kernels, that user wants to have in boot menu. Script, that modifies
menu.lst, use this variable. I like this feature, because I have usually more
kernels, but I want to see only last two versions in GRUB menu. I have created
patch, that add support for this to /etc/grub.d/10_linux. I have created this
patch against version shipped with Debian (1.97~beta3-1) - I don't know if
there are some Debian specific modifications. Also there should be variable
GRUB_HOW_MANY propagated from /etc/default/grub (my patch don't do
this).
Kernel and it's rescue variant is counted as one kernel.

I have already reported this bug to Debian BTS:
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=548600

Regards

-- 
Jezz
mail:   j...@hkfree.org
jabber: j...@njs.netlab.cz
--- 10_linux	2009-08-10 19:49:44.000000000 +0200
+++ 10_linux.new	2009-09-27 16:09:49.490014838 +0200
@@ -66,7 +66,17 @@
         if grub_file_is_not_garbage "$i" ; then echo -n "$i " ; fi
       done`
 
-while [ "x$list" != "x" ] ; do
+# Validate GRUB_HOW_MANY variable
+case "$GRUB_HOW_MANY" in
+  [0-9]|[0-9][0-9])
+    howmany=$GRUB_HOW_MANY
+    ;;
+  *)
+    howmany=99
+    ;;
+esac
+
+while [ "x$list" != "x" -a $howmany -gt 0 ] ; do
   linux=`version_find_latest $list`
   echo "Found linux image: $linux" >&2
   basename=`basename $linux`
@@ -75,6 +85,7 @@
   version=`echo $basename | sed -e "s,^[^0-9]*-,,g"`
   alt_version=`echo $version | sed -e "s,\.old$,,g"`
   linux_root_device_thisversion="${LINUX_ROOT_DEVICE}"
+  howmany=$((howmany-1))
 
   initrd=
   for i in "initrd.img-${version}" "initrd-${version}.img" \

Attachment: signature.asc
Description: Digital signature

_______________________________________________
Grub-devel mailing list
Grub-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/grub-devel

Reply via email to