I am facing a similar problem as this: Kernel does not recognize nand bad blocks marked by u-boot

I'm using a friendlyARM micro2440 board that contains the s3c2440 ARM processor. u-Boot has found some bad blocks and written their positions in the bad block table, but when I boot the kernel it seems to be unable to find those bad blocks and then crashes.

I wanted to try the obscure solution found by that user before, but I can't figure out how to do it: figuring out the BBT offset (maybe s3c2440's BBT offset is also an unusual value and not the one used by uboot). Also, if that's the case, how would I change u-Boot's BBT offset?


I have no exact answer to your question, but i know openmoko project which had badblocks support on s2410.


  • This is a good source of general information on the BBTs, but it doesn't say anything specifically about the BBT offset. I've been researching the kernel files that deal with the bbt (bbm.h and nand_bbt.c), but there is more than one offset, so I'm not sure about which one it was being talked about. May 28 '14 at 13:30

It was found that the problem did not reside in the BBT offset as previously stated. The source of the problem was the usage of squashfs, as said in this link:


The solutions would be to either use another filesystem or to use UBI to detect the bad blocks.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.