Multibooting

Aleksandar Milivojevic amilivojevic at pbl.ca
Thu Nov 25 19:13:34 UTC 2004


Paul Howarth wrote:
> So, when a new kernel is to be added, how does grubby know whether to 
> add an entry with "root=LABEL=/" or "root=LABEL=/1"?

I don't use labels.  However, I don't see any reason why grubby 
shouldn't be able to determine correct label.  Labels are just strings. 
  You can label your root file system as "root", or "foobar" or "kebab" 
if you wanted, and use "root=LABEL=kebab".  "/" is default label.  It 
isn't the only possible label.  Grubby should be able to handle that. 
If I were to use labels, I'd probably try hard to make them uniqeu 
across all disks on all machines I administer (which preaty much rules 
out simple labels such as "/").

Basically, grubby should do two checks.  Find out where your /boot 
directory is (or whatever directory holds kernel and initrd images, it 
doesn't need to be /boot), and find out what is grub's representation of 
that partition.  This will be used in root line.

Than it needs to simply read the label stored in metadata of your root 
file system (relative to RPM installation root), and use that as 
kernel's root option.  It can either read it directly from file system 
metadata (it runs as root, so it  can do it), or simply parse fstab and 
use whatever it finds there (that way if user doesn't use labels in 
fstab, they won't be used in grub.conf either, plus it covers the case 
if root file system doesn't has labels without need for code to handle 
that special case).

I haven't checked it myself, but I believe above is how grubby works, or 
at least how it would work if I were to implement it...

-- 
Aleksandar Milivojevic <amilivojevic at pbl.ca>    Pollard Banknote Limited
Systems Administrator                           1499 Buffalo Place
Tel: (204) 474-2323 ext 276                     Winnipeg, MB  R3T 1L7




More information about the users mailing list