jffs2 filesystem

Thomas Gleixner tglx at linutronix.de
Wed Sep 18 02:05:32 EDT 2002


On Wednesday 18 September 2002 05:53, Paul Wong wrote:
> Hi! all,
>     I have a problem about the jffs2 file system. Pls. refer below message.
> If the i/o error occur in eraseall process, is the jffs2 fs corrupted if i
> copy the jffs2 image to /dev/mtd1 ? Does the "dd" or "cp" take care the i/o
> error? thanks.
> bash-2.04# eraseall /dev/mtd1
> Erasing 16 Kibyte @ f0000 --  9 % compnand_erase: attempt to erase a bad
> block a
> t page 0x00003d20
> Erasing 16 Kibyte @ 1a4000 -- 16 % complete.
> eraseall: /dev/mtd1: MTD Erase failure: Input/output error
> Erased 10240 Kibyte @ 0 -- 100% complete.
I assume, you are using NAND flash. Your chip has a factory marked bad block. 

> bash-2.04# dd if=jffs2.img of=/dev/mtd1 bs=1k
> dd: writing `/dev/mtd1': Bad address
> 3607+1 records in
> 3607+0 records out
> bash-2.04#
dd / cp don't know about bad blocks. But the NAND-driver refuses to write to 
this block. 
Solutions: 
1. Mount your device after erasall with 
mount -t jffs2 /dev/mtd1 /mnt/bla
and copy your data to the filesystem. 

2. Use a bootloader utility, which skips the bad block.

3. Write a small utility, which can handle bad blocks

-- 
Thomas
____________________________________________________
linutronix - competence in embedded & realtime linux
http://www.linutronix.de
mail: tglx at linutronix.de




More information about the linux-mtd mailing list