[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Grub2 almost does what I want

From: Felix Miata
Subject: Re: Grub2 almost does what I want
Date: Wed, 06 Feb 2013 01:27:02 -0500
User-agent: Mozilla/5.0 (X11; Linux i686; rv:18.0) Gecko/20100101 SeaMonkey/2.15.2

On 2013-02-06 06:56 (GMT+0400) Andrey Borzenkov composed:

5 Feb 2013 15:04:46 -0800 Jordan Uggla composed:

Felix Miata wrote:

On 2013-02-03 04:24 (GMT-0500) Felix Miata composed:

On 2013-02-03 12:28 (GMT+0400) Andrey Borzenkov composed:

02 Feb 2013 16:04:18 -0500 Felix Miata composed:

1-Get rid of the vga= is deprecated message. It has nothing to do with Grub2

No quite. From Documentation/kernel-parameters.txt:

                         This is actually a boot loader parameter; the value is
                         passed to the kernel using a special protocol.

Either that doc is wrong, or it serves more than one purpose....

On reflection I believe a third interpretation is the correct one, that is,
"passed to the kernel" confirms that it is a kernel parameter, which the
kernel can only acquire by virtue of its presence on cmdline, which makes it
a "boot loader parameter". That is not to say it gets used for the boot
loader's own function, because it isn't. The only thing the boot loader does
with it is provide it to the kernel for the kernel's use. Consequently, the
boot loader itself has no business complaining about its presence. It is not
a valid purpose of a bootloader to report suitability or not of a particular
kernel cmdline parameter to any particular kernel, even if one was known to
be deprecated, or even unsupported, when the boot loader was built.

Your interpretation is completely incorrect. The kernel's
documentation means exactly what it says, vga= is a parameter
interpreted by the bootloader, which then switches to a given video
mode before handing off to the kernel, and passes information about
this mode via other means.

Not quite. Bootloader may pass to kernel special value meaning "do not
do anything, leave mode as is"; if bootloader did pass actual VGA mode
value to kernel, it is kernel which sets the mode.

If what Andrey wrote is correct, then all three of us are correct, Jordan in that Grub is in some way processing vga= before passing the result of the processing to the kernel, but me in that it is the kernel that sets the mode that the vga= cmdline parameter specified.

                          The linux kernel does not interpret the
vga= parameter, and if grub simply ignored it (but still passed it on
as part of the linux cmdline) you would not get the desired effect.
Since this is a parameter interpreted by the bootloader rather than
the kernel it really doesn't make sense for it to be in the linux
cmdline at all.

If it wasn't already there or available, how could a user edit cmdline at boot time to delete it or change it to something temporarily preferable? You think every user is content for every boot to always proceed identically? Boot time cmdline edit, along with not needing to be rerun before reboot to have any config change take effect, are two of the most profound things that makes Grub superior to Lilo.

 That is why grub instead uses GRUB_GFXPAYLOAD (or
$gfxpayload when working directly with a grub.cfg) as the means of
telling grub what mode it should hand off to the kernel.
GRUB_GFXPAYLOAD and $gfxpayload also take simple resolutions in
readable strings like "1024x768x32" rather than arcane VESA mode
numbers, making it even more appropriate to use. vga= is deprecated
but (for now) is still handled by grub for backwards compatibility, it
should not be used in new installations.

Some "new" installations don't use new hardware, and are done only to maintain access to security updates and/or gain access to software that hadn't previously existed. Some perfectly good gfxchips are not supported by KMS. Without vga=, how is the kernel supposed to get those old chips into a suitable framebuffer mode? Vga= for such chips does still do what it did pre-KMS. As long as kernels still respond to it, people don't need deprecation warnings from their boot loader about a kernel video function.

How nice it is (not) to have new "improved" versions of init systems and boot loaders tell us we must change to using cmdline options or similarly obtuse configuration options that require 2-10 times as much typing and recollection power to perform same function as required in the past. 1024x768x24 may be a bit easier for n00bs to wrap their brains around, but it's not helpful to those of us who learned what vga= itself referred to and what relevant vga= options meant last century and who prefer less typing to more typing. And it's certainly not welcome without adding desirable new function in the process to consume more of the precious resource that is the kernel cmdline.
"The wise are known for their understanding, and pleasant
words are persuasive." Proverbs 16:21 (New Living Translation)

 Team OS/2 ** Reg. Linux User #211409 ** a11y rocks!

Felix Miata  ***

reply via email to

[Prev in Thread] Current Thread [Next in Thread]