As I understand it, certain amount of bad blocks is expected with NAND flash:
Code:
NAND device: Manufacturer ID: 0x2c, Chip ID: 0xaa (Micron NAND 256MiB 1,8V 8-bit)
Bad block table found at page 131008, version 0x01
Bad block table found at page 130944, version 0x01
nand_read_bbt: Bad block at 0x002e0000
nand_read_bbt: Bad block at 0x00640000
nand_read_bbt: Bad block at 0x010e0000
nand_read_bbt: Bad block at 0x01160000
nand_read_bbt: Bad block at 0x02140000
nand_read_bbt: Bad block at 0x02400000
nand_read_bbt: Bad block at 0x02540000
nand_read_bbt: Bad block at 0x02a80000
nand_read_bbt: Bad block at 0x02c40000
nand_read_bbt: Bad block at 0x05100000
nand_read_bbt: Bad block at 0x05480000
nand_read_bbt: Bad block at 0x05a60000
nand_read_bbt: Bad block at 0x05f00000
nand_read_bbt: Bad block at 0x06380000
nand_read_bbt: Bad block at 0x06ae0000
nand_read_bbt: Bad block at 0x070a0000
nand_read_bbt: Bad block at 0x07360000
nand_read_bbt: Bad block at 0x073a0000
nand_read_bbt: Bad block at 0x08560000
nand_read_bbt: Bad block at 0x08680000
nand_read_bbt: Bad block at 0x089c0000
nand_read_bbt: Bad block at 0x08a80000
nand_read_bbt: Bad block at 0x09540000
nand_read_bbt: Bad block at 0x0a040000
nand_read_bbt: Bad block at 0x0a1e0000
nand_read_bbt: Bad block at 0x0a4c0000
nand_read_bbt: Bad block at 0x0a7a0000
nand_read_bbt: Bad block at 0x0ab40000
nand_read_bbt: Bad block at 0x0b260000
nand_read_bbt: Bad block at 0x0cb20000
Searching for RedBoot partition table in NAND 256MiB 1,8V 8-bit at offset 0x100000
8 RedBoot partitions found on MTD device NAND 256MiB 1,8V 8-bit
Creating 8 MTD partitions on "NAND 256MiB 1,8V 8-bit":
0x00000000-0x00040000 : "RedBoot"
0x00100000-0x0011f000 : "FIS directory"
mtd: partition "FIS directory" doesn't end on an erase block
0x0011f000-0x00120000 : "RedBoot config"
mtd: partition "RedBoot config" doesn't start on an erase block boundary
mtd: partition "RedBoot config" doesn't end on an erase block
0x00120000-0x00520000 : "kernel"
0x00520000-0x00920000 : "kernel_recovery"
0x00920000-0x0a320000 : "rootfs"
0x0a320000-0x0f120000 : "settings"
0x0f120000-0x0f520000 : "sysset"
That's a snippet from dmesg output of a successful boot. Not sure whether this is "expected" amount or not. At the same time the actual problem might be badblocks that are *not yet* in BBT. :(
The annoying part is that so far, device boots in 2 attempts out of 5, getting stuck at the loading screen otherwise. I don't know what it's getting stuck at (kernel? rootfs?) and there doesn't seem to be any logs available from those events. Any way of hooking up a serial console?