Support for howmany option in grub2
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.0 +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" \ signature.asc Description: Digital signature ___ Grub-devel mailing list Grub-devel@gnu.org http://lists.gnu.org/mailman/listinfo/grub-devel
Re: Support for howmany option in grub2
On Sun, Sep 27, 2009 at 08:04:51PM +0200, j...@hkfree.org wrote: > 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 Does anyone else think we want an option for this? It seems like "feature creep". -- Robert Millan The DRM opt-in fallacy: "Your data belongs to us. We will decide when (and how) you may access your data; but nobody's threatening your freedom: we still allow you to remove your data and not access it at all." ___ Grub-devel mailing list Grub-devel@gnu.org http://lists.gnu.org/mailman/listinfo/grub-devel
Re: Support for howmany option in grub2
On Fri, Oct 2, 2009 at 3:53 PM, Robert Millan wrote: > On Sun, Sep 27, 2009 at 08:04:51PM +0200, j...@hkfree.org wrote: >> 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 > > Does anyone else think we want an option for this? It seems like "feature > creep". IMO this is the responsibility of the distro. The distro's package manager is presumably what adds and removes kernels, there's no way that the grub scripts should be expected to know when past kernels have been removed. With more manual-install oriented distros like gentoo, trying to have grub maintain the kernel list like this would be insane, since the local admin determines the naming convention. > > -- > Robert Millan > > The DRM opt-in fallacy: "Your data belongs to us. We will decide when (and > how) you may access your data; but nobody's threatening your freedom: we > still allow you to remove your data and not access it at all." > > > ___ > Grub-devel mailing list > Grub-devel@gnu.org > http://lists.gnu.org/mailman/listinfo/grub-devel > ___ Grub-devel mailing list Grub-devel@gnu.org http://lists.gnu.org/mailman/listinfo/grub-devel
Re: Support for howmany option in grub2
Robert Millan wrote: > On Sun, Sep 27, 2009 at 08:04:51PM +0200, j...@hkfree.org wrote: > >> 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 >> > > Does anyone else think we want an option for this? It seems like "feature > creep". > > Many kernels encumber view and may make menu difficult to navigate (I have to scroll through a lot of linux kernels before I get to FreeBSD). But choosing kernels would involve heuristics which are likely to fail if e.g. user is in the middle of git bisect But the core issue is a bad menu organisation. I think we need two-level menu. It seems Bean is already working on issue but I haven't followed that thread closely -- Regards Vladimir 'phcoder' Serbinenko Personal git repository: http://repo.or.cz/w/grub2/phcoder.git ___ Grub-devel mailing list Grub-devel@gnu.org http://lists.gnu.org/mailman/listinfo/grub-devel
Re: Support for howmany option in grub2
2009/10/3 Vladimir 'phcoder' Serbinenko : > Robert Millan wrote: >> On Sun, Sep 27, 2009 at 08:04:51PM +0200, j...@hkfree.org wrote: >> >>> 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 >>> >> >> Does anyone else think we want an option for this? It seems like "feature >> creep". >> >> > Many kernels encumber view and may make menu difficult to navigate (I > have to scroll through a lot of linux kernels before I get to FreeBSD). > But choosing kernels would involve heuristics which are likely to fail > if e.g. user is in the middle of git bisect > But the core issue is a bad menu organisation. I think we need two-level > menu. It seems Bean is already working on issue but I haven't followed > that thread closely > I guess it should be possible one way or another once the new menu system is ready. It should be possible to sort the non-linux extra boot options into a separate list and thus make them easier to reach, for example. Thanks Michal ___ Grub-devel mailing list Grub-devel@gnu.org http://lists.gnu.org/mailman/listinfo/grub-devel
Re: Support for howmany option in grub2
On Pá 2.říj, richardvo...@gmail.com wrote: > On Fri, Oct 2, 2009 at 3:53 PM, Robert Millan wrote: > > On Sun, Sep 27, 2009 at 08:04:51PM +0200, j...@hkfree.org wrote: > >> 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 > > > > Does anyone else think we want an option for this? It seems like "feature > > creep". > > IMO this is the responsibility of the distro. The distro's package > manager is presumably what adds and removes kernels, there's no way > that the grub scripts should be expected to know when past kernels > have been removed. > > With more manual-install oriented distros like gentoo, trying to have > grub maintain the kernel list like this would be insane, since the > local admin determines the naming convention. > I thought that 10_linux script belongs to debian, so I have reported this enhancement to debian first. Now I know, that this script is distributed with grub. Debian developer suggests me to submit this to upstream. I know, that distribution is responsible for adding/removing kernels. That is the standard way - if I have two kernels installed, then I have two kernels in menu. With old grub (and debian infrastructure) I have option to limit number of kernels in menu. So I have three kernels, but only two kernels in menu. With grub it is possible to boot kernel not listened in configuration - this was my use case. This feature means only to modify shell script - grub is not modified. And it is really simple modification. The script is already doing some black magic - sorting list of kernels by version. When you add limit then you will have last two (or what is configured) kernels in menu. > > > > -- > > Robert Millan > > > > The DRM opt-in fallacy: "Your data belongs to us. We will decide when (and > > how) you may access your data; but nobody's threatening your freedom: we > > still allow you to remove your data and not access it at all." > > > > > > ___ > > Grub-devel mailing list > > Grub-devel@gnu.org > > http://lists.gnu.org/mailman/listinfo/grub-devel > > > > > ___ > Grub-devel mailing list > Grub-devel@gnu.org > http://lists.gnu.org/mailman/listinfo/grub-devel -- Jezz mail: j...@hkfree.org jabber: j...@njs.netlab.cz signature.asc Description: Digital signature ___ Grub-devel mailing list Grub-devel@gnu.org http://lists.gnu.org/mailman/listinfo/grub-devel
Re: Support for howmany option in grub2
Michal Suchanek wrote: > 2009/10/3 Vladimir 'phcoder' Serbinenko : > >> Robert Millan wrote: >> >>> On Sun, Sep 27, 2009 at 08:04:51PM +0200, j...@hkfree.org wrote: >>> >>> 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 >>> Does anyone else think we want an option for this? It seems like "feature >>> creep". >>> >>> >>> >> Many kernels encumber view and may make menu difficult to navigate (I >> have to scroll through a lot of linux kernels before I get to FreeBSD). >> But choosing kernels would involve heuristics which are likely to fail >> if e.g. user is in the middle of git bisect >> But the core issue is a bad menu organisation. I think we need two-level >> menu. It seems Bean is already working on issue but I haven't followed >> that thread closely >> >> > > I guess it should be possible one way or another once the new menu > system is ready. > > It should be possible to sort the non-linux extra boot options into a > separate list and thus make them easier to reach, for example. > > I would prefer two level OS/kernel choice. E.g. I first choose that I want linux from hdX,Y and then I choose the exact kernel. Perhaps normal keypress enter in first-level menu would boot most recent kernel and e.g. hitting F6 will offer kernel choice > Thanks > > Michal > > > ___ > Grub-devel mailing list > Grub-devel@gnu.org > http://lists.gnu.org/mailman/listinfo/grub-devel > > -- Regards Vladimir 'phcoder' Serbinenko Personal git repository: http://repo.or.cz/w/grub2/phcoder.git ___ Grub-devel mailing list Grub-devel@gnu.org http://lists.gnu.org/mailman/listinfo/grub-devel
Re: Support for howmany option in grub2
2009/10/3 Vladimir 'phcoder' Serbinenko : > Michal Suchanek wrote: >> 2009/10/3 Vladimir 'phcoder' Serbinenko : >> >>> Robert Millan wrote: >>> On Sun, Sep 27, 2009 at 08:04:51PM +0200, j...@hkfree.org wrote: > 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 > > Does anyone else think we want an option for this? It seems like "feature creep". >>> Many kernels encumber view and may make menu difficult to navigate (I >>> have to scroll through a lot of linux kernels before I get to FreeBSD). >>> But choosing kernels would involve heuristics which are likely to fail >>> if e.g. user is in the middle of git bisect >>> But the core issue is a bad menu organisation. I think we need two-level >>> menu. It seems Bean is already working on issue but I haven't followed >>> that thread closely >>> >>> >> >> I guess it should be possible one way or another once the new menu >> system is ready. >> >> It should be possible to sort the non-linux extra boot options into a >> separate list and thus make them easier to reach, for example. >> >> > I would prefer two level OS/kernel choice. E.g. I first choose that I > want linux from hdX,Y and then I choose the exact kernel. Perhaps normal Typically (hdX,Y) is not what people are familiar with so I would avoid showing that in the menu altogether. Also note that grub is typically installed by a particular distribution and the scripts only know how to add kernels for the distribution or loaders for additional OSes as per OS prober. > keypress enter in first-level menu would boot most recent kernel and Often the menu is hidden completely if no choice of kernels is desired by default. > e.g. hitting F6 will offer kernel choice I think hitting enter twice is not too much of a burden compared to searching for F6. However, we will need multiple "default" kernels if multiple kernel lists are available. Thanks Michal ___ Grub-devel mailing list Grub-devel@gnu.org http://lists.gnu.org/mailman/listinfo/grub-devel