grub-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: grub and root=label=


From: Chris Knadle
Subject: Re: grub and root=label=
Date: Tue, 9 Sep 2008 00:31:00 -0400
User-agent: KMail/1.9.9

On Monday 08 September 2008 9:26:54 pm Greg White wrote:
> >As far as I know, the "root=" line is passed as one of the parameters to
> >the booting kernel, so it shouldn't matter what version of Grub you're
> >using.  For instance, if you're running Linux, look at the Linux kernel
> >documentation for the kernel in /Documentation/kernel-paraemeters.txt --
> >you'll see that one of the parameters the kernel takes is the "root="
> >parameter -- and that support is there regardless of you use an initrd
> >image or not.
> >
> >The label that you need to enter in "root=LABEL=" is the label on the
> >desired PARTITION, not the drive's VOLUME label.  'cfdisk' can list the
> >partition labels along with the device names on the disk.  For doing a
> >double-check, have a look at the 'findfs' command.
>
> kernel-parameters.txt:
> root=         [KNL] Root filesystem
>
> I know I need the root= parameter.  I need a way to point to a label
> instead of hard coding a dev entry and no initrd.

   Are you compiling your own kernel?  i.e. what are you doing to get rid of 
the initrd image requirement?  I ask because all the popular distributions 
that I know of ship kernels that come with (and require) an initrd image by 
default.

   I recently gave a presentation on the subject of compiling the Linux 2.6 
kernel a couple of months ago, and I went into the details of how to build 
the Linux kernel without an initrd image because that's how I like to build 
my own.  The video and other talk materials are available.

     ftp://ftp.coredump.us/kernel-talk_05-13-2008/

> I tried root=LABEL=WD320G in menu.lst and it didn't work.

   What error do you get?  Was it a kernel panic due to not being able to find 
the root filesystem, i.e. "cannot find init"?

> I used e2label to label the hard drive.

   Okay.

> Here is the output from cfdisk:
>                                   cfdisk 2.12r
>
>                               Disk Drive: /dev/sdc
>                        Size: 250059350016 bytes, 250.0 GB
>              Heads: 255   Sectors per Track: 63   Cylinders: 30401
>
>     Name        Flags      Part Type  FS Type          [Label]        Size
> (MB)
> ---------------------------------------------------------------------------
>--- sdc1        Boot        Primary   Linux ext3       [WD320G]    249637.25
> sdc2                       Primary   Linux swap                   419.49
>
> findfs LABEL=WD320G
> /dev/sdc1

   Good, thanks for including that info -- that looks like it checks out.

> My /etc/fstab looks like this and works:
> LABEL=WD320G / auto defaults 1 1

   Good.

> What did I do wrong?

   As far as I can tell the problem is that the kernel you're trying to boot 
doesn't contain the necessary support to find the hard disk.  Running 'lsmod' 
on a kernel that does boot properly (assuming said kernel uses an intrd image 
and thus loads drivers as modules) will give you some clues as to what device 
drivers you'll need to build-in to the kernel if you want to boot up without 
an initrd image.  Running '/sbin/modinfo <module_name>' should give you an 
idea of whether a device driver module is disk related and thus required to 
build-in.

> Thanks,
>
> PS I know the drive is 250GB but labeled 320G.

   Is it?  I didn't notice....

> And sorry for the other post with the wrong subject.

   Thanks for reposting with the right subject.

   -- Chris

-- 

Chris Knadle
address@hidden




reply via email to

[Prev in Thread] Current Thread [Next in Thread]