[beagleboard] Run another u boot from u boot prompt

Hi ,

Is it possible to load and run another u boot from u boot prompt?


Probably, but probably not without some code. You could use U-Boot to load a new U-Boot from SD card into the right memory address, but then you would probably cause the first U-Boot to crash (since its already there). You would need a new U-Boot command to copy a memory range and then jump to the start address. Shouldn’t be too hard to do if you are familiar with C and some concepts of assembler…

What are you trying to achieve…??? As this sounds… well, a little wacky… :slight_smile:

It should be possible. I haven’t done this myself, but I’ve seen it done on a TI Davinci product. The first u-boot bootm’s to the 2nd u-boot image instead of a Linux uImage kernel. The 2nd kernel will load and boot Linux.
I don’t think you need to write any C or assembly to do this; it can be with some u-boot macros.

A reason for doing this would be for safer field upgrades of u-boot. The 2nd u-boot is the production u-boot which
may be field upgraded. If a field ugrade of this u-Boot fails for some reason, you are not bricked, since you
still have the 1st u-boot which can be used to program the 2nd u-boot.

Easy field upgrade is a very good point …


I am able to do that.
one need to change the TEXT_BASE macro (address of u boot loading) to
some other valid address, compile and than load u boot.bin on that RAM
after that use following command.
go <RAM Address>

This will run the another u boot from the u boot.