On Thu, Dec 24, 2009 at 2:53 PM, Tom H <[email protected]> wrote: >>> Ubuntu must have patched grub1 to use UUIDs because, pre-9.10 and >>> grub2, you could/would use a "uuid=..." instead of a "root=..." >>> statement and the kernel's root reference was "root=UUID=..." so there >>> was no "hd(x,y)" reference in menu.lst. > >> You completely misunderstand what's going on. The kernel arguments >> (AKA kernel command line) are NOT PROCESSED by grub; it merely uses a >> known mechanism for providing them to the kernel during load-time. >> Those comments in no way at all effect the process of GRUB loading the >> kernel and initrd in to memory. > >> Grub's only objectives are: > >> 1) Use the initial bootstrap code (within the first 440 or so bytes of >> sector 0) to load the rest of grub. >> 2) Possibly provide an interactive menu for the user to select an OS >> to load or chain. >> 3) Load one or more blobs of data from the disk, and then hand off a >> set of memory structures inherited from the BIOS to them. > >> After stage 3 the OS is loading. In the case of most recent linux >> systems, including ubuntu, an in-memory filesystem is extracted and >> used to setup anything complex (like raid, lvm, or cryptsetup devices) >> is setup before the real system loads. > > Thanks for the explanation but you are glossing over the "handover" to > the kernel. > > I assume (and I will be happy to be corrected if I am wrong) is that > the "root=" (in grub1's menu.lst) and the "set root=" (in grub2's > grub.cfg) directives allow grub to identify the "/boot" directory > whose kernel is to be loaded with the "kernel" (in grub1) and "linux" > (in grub2) directives. > > Usually, the right side of the "root=" and "set root=" directives is > of the "(hdX,Y)" type. However, as I said in my previous email, Ubuntu > must have patched grub1 to understand UUIDs because you could replace > the "root=" directive with a "uuid=" one (and, probably, a > "root=UUID=" one). > > In grub2's case, if you have an "insmod fs_uuid" directive before the > "set root=" directives, you can change "set root=" to "set root=UUID=" > and boot successfully. > > > _______________________________________________ > Help-grub mailing list > [email protected] > http://lists.gnu.org/mailman/listinfo/help-grub >
Ok, so you're loading an fs_uuid module to gain that support; but how is fs_uuid loaded in the first place? It seems the answer cannot be by UUID, as that's what the module adds support for. Thus, it must be by one of the methods I'd mentioned. _______________________________________________ Help-grub mailing list [email protected] http://lists.gnu.org/mailman/listinfo/help-grub
