[vox-tech] Re: (Redhat) Grub initrd Use?
Richard Harke
rharke at earthlink.net
Sun Sep 4 01:29:10 PDT 2005
On Sat September 3 2005 20:12, Ken Bloom wrote:
> On 9/3/05, Wayne Watson <sierra_mtnview at earthlink.net> wrote:
> > This is a redhat related problem. Redhat installed
> > and works fine. The install process set up grub.
> > Now I have built a new kernel from the tar ball and
> > need to boot it. I put a new stanza in /boot/grub/menu.lst
> > with the new kernel name and a new name for the stanza.
> > The redhat installed line has
> > kernel vmlinuz-2.4.20-6 ro root=LABEL=/1
> > so I used
> > kernel vmlinuz-2.4.20-rtl3.2-pre2 ro root=LABEL=/1
> >
> > the boot fails unable to open root
> > I've tried using root=(hd1,0) which is my understanding
> > of device numbering for grub but it still fails. Same error.
> >
> > I can't find any explanation of "LABEL" in menu.lst
> > or for the /1 notation.
> > Note I did make an initrd iamge with the command
> > mkinitrd initrd-2.4.20.rtl3.2-pre2.img 2.4.20-rtl3.2-pre2
> >
> > 2.4.20-rtl3.2-pre2 is the version as it appears in /lib/modules
> > and the size of the image file is close to that of the oringinal
> > redhat initrd image.
> >
> > Can anybody clue me as to what I need in grub/menu.lst??
>
> Here is an example stanza from my kubuntu /boot/grub/menu.lst
>
> title Ubuntu, kernel 2.6.10-5-386 (recovery mode)
> root (hd0,0)
> kernel /boot/vmlinuz-2.6.10-5-386 root=/dev/hda1 ro noapic
> acpi_sleep=s3_bios single
> initrd /boot/initrd.img-2.6.10-5-386
> savedefault
> boot
>
> Explanation: the first line is the title in the grub menu. The second
> line tells GRUB (but not the kernel) where it can find the partition
> with your kernel on it. If you don't have a separate /boot partition,
> then your configuration should look like mine. /dev/hda1 corresponds
> to (hd0,0) If you do have a separate /boot partition, then you should
> have the root line correspond to that, and your kernel and initrd
> lines should not contain the /boot.
>
> on the third line (the one starting "kernel") the root= option tells
> your kernel where it can find the / partition. the root=LABEL=/1 is
> just another way of specifying this without having to specify it
> physically, if you take advantage of partition labelling (it seems
> that fedora does by default)
>
> the initrd line seems to be the magic line that you'e missing from
> your stanza for this kernel.
>
This problem is now solved. I was helping Wayne get rtlinux
installed. The solution was to use root=/dev/hdb1 in the kernel line in
place of the LABEL construct. Changed this in both stanzas and
in fstab. I don't understand why the LABEL construct worked
for the redhat installed kernel and not for the rtlinux kernel. As I
understand it, the LABEL construct allows grub to search for the right
partition which is supposed to make it more robust to hardware
re-configuration. Maybe the rtlinux patches to the kernel broke
something needed for the LABEL construct to work. I definetely
had the initrd line in the stanza.
Richard Harke
More information about the vox-tech
mailing list