Grub Manual ... Solved

Michael Schwendt mschwendt at gmail.com
Sun Oct 21 19:40:26 UTC 2007


On 21/10/2007, Les Mikesell <lesmikesell at gmail.com> wrote:
>
> > All that matters is  what the GRUB root device is,
> > how it is defined via device.map and the BIOS disk numbering scheme,
> > and where it is mounted (!) when you access the files on it. As long
> > as it's mounted on the /boot mount-point, referring to a "root
> > directory" is misleading.
>
> Where (or even if) the OS sees the partition is not relevant to grub,
> but it is very relevant to someone who wants to modify the grub
> configuration, kernel, or initrd files.  This is the missing piece in
> the documentation, especially if you move away from the /boot partion
> convention, want to have multiple copies, etc.

On this list, the attempts at writing better documentation have not
been fruitful so far. Especially if you make /boot a mount-point. Step
back to playing with GRUB's "find" command to understand how it
accesses files on partitions based on absolute paths. If you really
want to fill a hole in the docs, be much more explicit in explaining
the difference between a normally mounted /boot partition and what it
means when GRUB mounts the same partition to accesses the fs on it.
When trying to make it clearer, expand the examples with the following
case and put into words why the files have a different path in
grub.conf:

title Another Linux
        root (hd0,0)
        kernel /d5/vmlinuz ro root=/dev/sda5 quiet 3
        initrd /d5/initrd.img

To avoid emphasis on the Linux kernel's root= parameter, it would be
better to either remove the parameters (imagine the kernel had them
built-in or used a different method to read them, e.g. via initrd) or
use a fs label like:

title Fedora 8 (custom kernel)
        root (hd0,0)
        kernel /f8/vmlinuz ro root=LABEL=f8root rhgb quiet
        initrd /f8/initrd.img

> > You can even make the GRUB root device a
> > separate partition, but still store the kernel+initrd in a
> > sub-directory. That is because GRUB doesn't care where a file is
> > stored as long as it is told what the absolute path to the file is and
> > what device to enable.
>
> Note that absolute paths have a leading / which we define as the root
> directory.

Every partition has a root directory if you put a fs like ext3 on it.
That's why I've pointed out before that _where_ files are found
depends on whether and where the fs is mounted. GRUB also knows the
notion of "mounting a partition". It just doesn't construct a
file-system hierarchy from multiple partitions, because it only mounts
a single partition.

Still, by overloading the term "root directory" too much, you can
confuse Linux beginners unnecessarily.




More information about the users mailing list