Bad Block Skipping Read for read-only filesystem on flash

Samuel Chun bearchun at
Thu Oct 25 16:45:46 EDT 2007

I am having trouble with handling BAD BLOCKS while loading read only
filesystem that is on NAND flash. I was wondering if you can help me
or point me to the right direction. Any help would greatly be


Right after Kernel boots it tries to mount a read only CRAMFS
filesystem from a flash partition (e.g. "/dev/mtdblock3"). But NAND
driver/MTD driver does not handle BAD BLOCKS, so if there are any bad
blocks in that partition, mounted cramfs filesystem will not work right.

When we program the flash we will SKIP BAD BLOCKS, so if we can do the
same when we read from flash it will solve our problem.

We had the same problem loading the Kernel from uboot. To fix this, we
had to use the command "read.i" from uboot. This command will skip BAD
BLOCKS while reading.

How can we fix this?

Our system:
  U-Boot 1.1.6
  Linux version
  CPU: ARM920T [41129200] revision 0 (ARMv4T), cr=c0007177
  Machine: SMDK2443
  CPU S3C2443 (id 0x32443001)
  S3C24XX NAND Driver, (c) 2004 Simtec Electronics
  s3c2412-nand s3c2410-nand: Tacls=8, 59ns Twrph0=8 59ns, Twrph1=8 59ns
  s3c2412-nand s3c2410-nand: System booted from NAND
  NAND device: Manufacturer ID: 0x20, Chip ID: 0x76 (ST Micro NAND
64MiB 3,3V 8-bit)
  ... Let me know if you need more info about our system ...

Thank you.... Sam.

More information about the linux-mtd mailing list