[U-Boot-Users] intended behavior of bootm

Wolfgang Denk wd at denx.de
Mon Apr 21 21:19:22 CEST 2008


Dear Matthias,

in message <200804211509.43558.matthias.fuchs at esd-electronics.com> you wrote:
> 
> I am wondering if bootm behaves correctly on CRC errors in kernel and/or ramdisk images.
> This is what I observed:

Most has already been said in previous replies, so here just a summary
of the situation:

> 3) Same loading as above. But I make the ramdisk CRC check fail (mw 320000 12345678).
> I get:
> ## Booting kernel from Legacy Image at 00200000 ...
> ...
> ## Loading init Ramdisk from Legacy Image at 00300000 ...
> ...
>    Verifying Checksum ... Bad Data CRC
> <system reset>
> U-Boot 1.3.2-00450-g77dd47f (Apr 21 2008 - 14:43:23)
> 
> Hmm, I expected the same behavior as for a corrupted kernel image.

This expectation is incorrect.

> So what should be the correct behavior? I would like to get back to the prompt
> on any CRC error. So is this a bug?

No, it is not a bug. Kernel image and  ramdisk  image  get  processed
sequentiually. As soon as you uncompress and copy the kernel image to
it's  load  address (typically 0x0000 for PowerPC), it will overwrite
the exception vectors used by U-Boot. The next interrupt (for example
timer) would then kill kill you. That's why there is a  point  of  no
return just before we start uncompressing / loading the kernel image.

Any errors after this point can only be resolved by  a reset.

That's intentional and documented. There are no intentions to change
this behaviour.

Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
Computers are not intelligent.  They only think they are.




More information about the U-Boot mailing list