[U-Boot] Can't read kernel if bad blocks are present in partition

Alexandre Gambier a.gambier at ftemaximal.fr
Thu Apr 26 13:27:59 CEST 2012


Hi,

I'm working on a STM chip under linux and U-Boot 1.3.1.

Here's my problem.
To boot linux up I load the kernel stored in a NAND device. If a bad 
block is present in the nand I can't load the kernel.

To store the kernel I first erase the partition and write the kernel image.
During the erase stage, U-Boottells that a bad block has been skipped 
but everything's fine.

   NAND erase: device 0 offset 0x520000, size 0x400000
   Skipping bad block at  0x005c0000
   Erasing at 0x900000 -- 100% complete.
   OK

When I write the kernel image, U-Boottells that everything's fine.

   NAND write: device 0 offset 0x520000, size 0x400000
    4194304 bytes written: OK

But when I try to read the kernel, it fails.

   NAND read: device 0 offset 0x520000, size 0x1a4bff
    1723391 bytes read: ERROR


I though U-Boot was able to handle bad block when reading back data..

Did I forget to initialize something ?

BEst regards.


-- 
Best regards.

Alexandre Gambier
Fte Maximal France SAS



More information about the U-Boot mailing list