2000-11-30 08:53:42

by Anders Eriksson

[permalink] [raw]
Subject: romfs as initrd


Running 2.4.0-test10 I try to get an romfs image to work as an initrd
image. It does work when mount `normally` using `mount -o loop`.
However, when used as initrd image it fails. Here's the relevant part
of dmesg:


RAMDISK driver initialized: 16 RAM disks of 16384K size 1024 blocksize

loop: enabling 64 loop devices
RAMDISK: romfs filesystem found at block 0
RAMDISK: Loading 3183 blocks [1 disk]
into ram disk... done. Freeing initrd
memory: 3184k freed

...

devfs: v0.102 (20000622) Richard Gooch ([email protected])
devfs: boot_options: 0x0
Trying fs: ext2
Trying fs: cramfs
wrong magic
Trying fs: romfs
ROMFS DEBUG: rsb_word0 0 rsb_word1 0 sz 0
Kernel panic: VFS: Unable to mount root fs on 01:00


Where the ROMFS DEBUG message comes for this section of romfs/inode.c:
----------------

if (rsb->word0 != ROMSB_WORD0 || rsb->word1 != ROMSB_WORD1
|| sz < ROMFH_SIZE) {
if (!silent)
printk ("VFS: Can't find a romfs filesystem on
dev "
"%s.\n", kdevname(dev));
printk ("ROMFS DEBUG: rsb_word0 %i rsb_word1 %i sz
%i\n",rsb->word0,rsb->word1,sz);
goto out;
----------------


Not knowing that much about fs (and VFS) internals it seems that the
image is identified by the initrd code, but currupted/misplaced so it
cannot be used by the VFS when trying to mount it. I have no ideas what
steps are supposed to happen in between these two.


Help and insights appreciated.

/Anders





Attachments:
(No filename) (235.00 B)