Way to clear nand bad block table

Juergen Beisert jbe at pengutronix.de
Thu Jul 26 05:27:48 EDT 2012

HI Marc,

Marc Reilly wrote:
> Is there a way to clear the nand bad block table?
> I'm not sure what happened, but I was playing around with barebox init and
> didn't register the nand device - then when I booted the kernel there were
> a stack of UBI errors.
> I assume this also did something to the bbt as subsequent barebox startups
> give a heap of bad block messages. Note not all blocks are bad - tested
> with nandtest and there's still some R/W going on.
> All the code I looked at seemed to indicate that once a block is marked bad
> you can't go back.
> Any ideas much appreciated.

The flash blocks which contains the "bad block table" are protected by 
the "bad block table" aware MTD layer.

So, the ugly way: run a bootloader which does not use the in-flash bad block 
table. Then the tables are regular blocks in the flash and can be erased. 
After that run again the bad block table aware bootloader and it will 
re-create the in-flash table. But be careful: In this case the generic 
functions scans all blocks in the NAND to collect the bad block markers in 
each NAND block's OOB. If this information is already destroyed somehow, this 
solution does not help.


Pengutronix e.K.                              | Juergen Beisert             |
Linux Solutions for Science and Industry      | http://www.pengutronix.de/  |

More information about the barebox mailing list