Two questions on mtds on x86 platform

David Woodhouse dwmw2 at
Thu Feb 6 09:58:00 EST 2003

On Thu, 2003-02-06 at 14:43, Somashekara DM wrote:
> Hi,
> We want to mount jffs2 on two mtd partitions as a part of our project.
> Our platform is x86 - kernel version 2.4.13.
> 1. We are using mtdram ("Test driver using RAM") and blkmtd ("MTD
> emulation using block device")
>     to create two mtd's. Our aim is to mount jffs2 on two different
> mtds.

OK. So you have two MTD devices listed in /proc/mtd?

> Here are the steps we have followed.
> Step1 :
>     mknod /dev/mtd0 c 90 0
>     mknod /dev/mtd2 c 90 2

This is incorrect. The MAKEDEV script in CVS is correct. The device
numbers for the character devices alternate between 'normal' and
read-only devices, as follows:

	/dev/mtd0	c 90 0
	/dev/mtdr0	c 90 1
	/dev/mtd1	c 90 2
	/dev/mtdr1	c 90 3
	/dev/mtd2	c 90 4
	/dev/mtdr2	c 90 5

So what you've called '/dev/mtd2' is in fact what _should_ be called
'/dev/mtd1', and is hence the second of the two MTD devices (In fact, 
/dev/mtd2 would be a _third_ device, which does not exist in your

>     and
>     mknod /dev/mtdblock0 b 31 0
>     mknod /dev/mtdblock2 b 31 2

These are correct device numbers and names but as before, /dev/mtdblock2
refers to a third MTD device which does not exist in your system. Make
/dev/mtdblock1 (b 31 1) and use that.

>    mount -t jffs2 /dev/mtdblock2 /mnt/jffs2drive2    //this mount fails
>    error - "mount: fs type jffs2 not supported by kernel"

What it actually means is 'block device /dev/mtdblock2 does not exist'.
But mount(2) doesn't return sensible errors.

> 2. Can we create multiple partitions on the 'mtdram'?
>        Can you give us the procedure for that?

No partitions, but you can load the mtdram module twice (with different
names) so that you get two devices.


More information about the linux-mtd mailing list