[Qi] bad magic when booting from NAND

Dmitry Kurochkin dmitry.kurochkin at gmail.com
Thu Apr 9 11:21:36 CEST 2009

After looking more at the code it is more clear what is going on.

With unmodified Qi it tries to load_uimage() first, but stops reading
after 4 bad blocks. nand_read_ll() returns -1, read_file() prints "Bad
kernel header". Then it tries load_zimage() but magic does not match.

When I remove the 4 bad block limit it seems to read the kernel fine,
skipping as expected 256 512-blocks. But CRC does not match. Then
load_zimage() prints bad magic error as before.

So it looks like Qi skips bad blocks correctly. But the kernel image
is bad. Since NOR Uboot loads the image fine I see 2 possibilities

1. Error in Qi.
2. Old uboot version from NOR handles bad blocks (flashes/reads
kernel) in a different way from Qi.

I am not sure what to do next, so waiting for advise :)


More information about the openmoko-kernel mailing list