Using mtdblock as root device

Vipin Malik Vipin.Malik at
Tue Mar 6 08:49:16 EST 2001

>Now my question is: is there any particular reason (other than "nobody
>has told Linus") why this is not already in the standard kernel ?

because it's easier to do a
$rdev <your kernel image here> /dev/mtdblock0 before installing
the kernel with lilo. You don't need to pass any root kernel
line parameters then.

You can even boot a compressed root file system this way by
passing the bit LOAD_RAMDISK=1, the RAMDISK_OFFSET=<your offset in
1k from the start of your root device>. See the bootdisk

Additionally, You have to go and hack the rd.c code in drivers/block/rc.c to
remove the check to see that the boot device for compressed f/s
is a floppy.

As one additional matter you have to add a call to rd_load() just
before mount_root() in init/main.c so that the ramdisk loading code
runs *after* the mtdblock device has been registered.

Go back in the archives a few weeks. There was quite a bit
discussion re. this matter. I've found all these problems before :)

There's quite a big update to the HOWTO pending that I'll commit
as soon as I get some time (that includes all this stuff and
some corrections). There is a bigger power fail issue
in jffs1 that's hogging all my time right now.


To unsubscribe, send "unsubscribe mtd" to majordomo at

More information about the linux-mtd mailing list