Subject: ramdisk funkiness

From: Ian Thompson <[email-masked]>
Date: Wed, 30 May 2001 15:55:15 -0700

Hi,

I'm porting the 2.4 kernel to a custom board, and I'm running into some
trouble while trying to mount the root filesystem.  There is no media
(hard drives, cdrom drives, etc) attached to the system, but of course
the kernel needs a root filesystem to boot.  So, I'm trying to create an
empty ramdisk and have the kernel mount that as the root fs.  The kernel
installs the ramdisk driver fine, but when it tries to open the ramdisk,
I get this error message:

RAMDISK driver initialized: 16 RAM disks of 128K size 1024 blocksize
VFS: Cannot open root device "ram0" or 01:00
Please append a correct "root=" boot option
Kernel panic: VFS: Unable to mount root fs on 01:00

Now for some possible complications: I'm not using LILO as of yet.  I've
written a custom bootloader, and one of the arguments I pass to the
kernel is "root=/dev/ram0" as it says to do in
Documentation/initrd.txt.  So my question is: what other setup am I
skipping?  I'd rather not have to store a ramdisk image in ROM, but I'm
guessing I'll run into problems just creating an empty one.  What else
do I need to do to get VFS to open the device correctly?

Thanks,
-ian

-- 
----------------------------------------
Ian Thompson           tel: 408.952.2023
Firmware Engineer      fax: 408.570.0910
Palmchip Corporation   www.palmchip.com

---

From: Brian Murphy <[email-masked]>
Date: Thu, 31 May 2001 01:17:56 +0200

> Kernel panic: VFS: Unable to mount root fs on 01:00

Have you got a filesystem on the ramdisk?

/Brian

---

From: Ilya Volynets <[email-masked]>
Date: Wed, 30 May 2001 17:21:33 -0700

On Wednesday 30 May 2001 17:11, you wrote:
> Do I simply need to compile my kernel with ext2 support enabled, or do I
> need to somehow create a ramdisk image with that type of a format?
Yes, you need ramdisk with filesystem on it.

>  If
> you don't mind, could you explain a little about how I can go about
> pointing the kernel at a ramdisk image, assuming I don't have LILO to
> help me out?
LILO doesn't matter here, problem is that you don't have filesystem at all.
What good is linux kernel, if it can't run any programs?

In short to create ramdisk with filesystem on it, create file of needed size,
use mke2fs to make filesystem on it, then use loopback device to mount it,
and put files in there. Once you've done it, look at ramdisk HOWTO for
instructions on where to put resulting image. Bootdisk HOWTO might
also be helpfull. And YES, you will need to put ramdisk in ROM (unnless
you can download it from network, in which case you don't need ramdisk anyways
- -- use NFS).

BTW, it doesn't really have to be ext2fs, it could be any other fs (like ROMFS or RAMFS)
You just need support for it comiled into your kernel.

> thanks for your help!
>
> Ilya Volynets wrote:
> > -----BEGIN PGP SIGNED MESSAGE-----
> > Hash: SHA1
> >
> > At minimum you have to have ext2 fs on your ramdisk. init of some kind is
> > probably also something you want :)
> >
> > On Wednesday 30 May 2001 15:55, you wrote:
> > > Hi,
> > >
> > > the kernel needs a root filesystem to boot.  So, I'm trying to create
> > > an empty ramdisk and have the kernel mount that as the root fs.  The
> > > kernel installs the ramdisk driver fine, but when it tries to open the
> > > ramdisk, I get this error message:
> > >
> > > Now for some possible complications: I'm not using LILO as of yet. 
> > > I've written a custom bootloader, and one of the arguments I pass to
> > > the kernel is "root=/dev/ram0" as it says to do in
> > -----BEGIN PGP SIGNATURE-----
> > Version: GnuPG v1.0.4 (GNU/Linux)
> > Comment: For info see http://www.gnupg.org
> >
> > iEYEARECAAYFAjsVfjIACgkQtKh84cA8u2ldHgCgt7l1wtJPlPQXh0dgCR6ctP9r
> > noUAoMRAbSqIjwoiU1jEz23vpOlgD0ZX
> > =GGkM
> > -----END PGP SIGNATURE-----

---

From: Jun Sun <[email-masked]>
Date: Wed, 30 May 2001 17:41:21 -0700

> Kernel panic: VFS: Unable to mount root fs on 01:00

You don't need to supply "root=/dev/ram0" argument as long as you give the
configure in the following option:

 Initial RAM disk (initrd) support (CONFIG_BLK_DEV_INITRD)

Jun