|
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 function.
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 *** http://fm.no-ip.com/
[Prev in Thread] | Current Thread | [Next in Thread] |