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?