Re: Compiling 2.6 kernel questions

Glynn Clements <[email protected]> Thu, 26 Nov 2009 04:35:33 +0000
Newsgroups org.kernel.vger.linux-admin
Message-ID <[email protected]>
Alex wrote:

> > "VFS: Can't mount root" suggests that it's failing to mount the initrd
> > filesystem. For initrd, the root filesystem passed to the kernel from
> > the bootloader (via root=) should be /dev/ram0. You also have to tell
> > the bootloader where to find the filesystem image (e.g. via initrd=
> > for lilo).
> 
> Yes, and I'm pointing lilo to the initrd, and can mount and read the
> initrd on its own.
> 
> You don't mean root=/dev/ram0 instead of root=/dev/md1, right?

Yes. This seems to be the standard initrd mechanism for newer kernels.

The error message:

	VFS: Can't mount root unknown-block(9,1)

indicates that the kernel is trying to mount /dev/md1 directly (device
9:1 is /dev/md1), which won't work if the md driver is a module (even
if the md driver is built in, this won't work if the array needs
user-space configuration before it can be mounted).

> This is why I was asking about lilo some time ago. I'm using the
> latest, but that's from 2007. Is it possible that it has a problem
> with this kernel?

I haven't had any problems using lilo with recent kernels, although I
don't normally use initrd.

You should look at Documentation/initrd.txt for details on the current
state of initrd. Or Documentation/filesystems/ramfs-rootfs-initramfs.txt
for the newer initramfs mechanism.

-- 
Glynn Clements <[email protected]>