jffs2: Too few erase blocks (1)

Ricard Wanderlof ricard.wanderlof at axis.com
Mon Feb 9 03:50:22 EST 2009


On Mon, 9 Feb 2009, Dzuy Nguyen wrote:

> I've allocated a small (64K) "user_config" partition in my flash for
> persistence storage:
>
> mtd0: 00020000 00010000 "u-boot"
> mtd1: 00010000 00010000 "Config"
> mtd2: 00100000 00010000 "vmlinux"
> mtd3: 002a0000 00010000 "rootfs"
> mtd4: 00010000 00010000 "user_config"
> mtd5: 00020000 00010000 "ART"
>
> When I tried to mount -t jffs2 /dev/mtdblock4, I get
>
> jffs2: Too few erase blocks (1)
>
> I understand that my erasesize is 64K, which gives me only 1 block,
> and jffs2 needs more than 1 block, but the kernel defaults the erasesize
> to 64K.

The kernel does that probably because that is the size of the blocks on 
your flash chip. It is not so much a default as detection of the 
properties of the chip.

> If I made a jffs2 file with eraseblock=8, would this work or would I have
> to set it at the kernel?

You need to allocate more space if you want to use jffs2 quite simply. The 
exact number is not exact; 8 should be ok, meaning you need to partition 
your flash so you have 64K * 8 = 512K in your user_config partition.

If you can't afford that much space, you could consider writing your user 
configurations to a file and just dumping the file with dd into your flash 
partition. Not at all as flexible, but doable in a pinch.

/Ricard
--
Ricard Wolf Wanderlöf                           ricardw(at)axis.com
Axis Communications AB, Lund, Sweden            www.axis.com
Phone +46 46 272 2016                           Fax +46 46 13 61 30



More information about the linux-mtd mailing list