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