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




PGP signature

Reply via email to