mtdblock: module -vs- kernel

Gregory Schallert gschallert at
Thu Jan 18 18:27:14 EST 2001

Ok I finally have the initial hardware to do some testing.

Short story...

I can get the mtd char and block drivers to work as modules, but when I
compile them into the kernel only the char device driver works. Any Ideas?

Long story...

I have hacked physmap.c and jedec.c (my chips do not support CFI) and can now
mount a filesystem on my flash device.  Everything works wonderful as a
modules ( both block and char devices)....

Now I want to make the flash device a root filesystem.  I have edited
init/main.c and added the /dev/flash I node number and init_mtd function.

When I boot with mtdblock0 as my boot device It will uncompress the kernel and
load it.  It then recognizes /dev/mtdblock0 as the boot device, but when it
tries to load the filesystem it crashes.

If  I do not set mtdblock0 as my boot device( and boot from floppy), the mtd
char driver seems to be working fine when compiled into the kernel but I can
not mount a block device. The proc/dev/ dir contains both mtd and mtdblock.
the /proc/mtd dir only contains mtd0, and will not recognize mtdblock0 as a
valid block device. (that means I can not mount any flash chips)

I have a good understanding about the kernel boot flags and really don't think
that is where the problem is...Is there something I am missing about booting
from the flash device?

Gregory Schallert
Dawning Technologies, Inc.

To unsubscribe, send "unsubscribe mtd" to majordomo at

More information about the linux-mtd mailing list