booting single uImage on platforms with different base addresses for SDRAM

Russell King - ARM Linux linux at arm.linux.org.uk
Thu Sep 22 07:15:23 EDT 2011


On Thu, Sep 22, 2011 at 02:04:12PM +0300, Peter De Schrijver wrote:
> Currently uImages have the load address hardcoded. As we now try to support
> as many ARM platforms as possible with a single binary, this becomes a
> problem. On tegra20 SDRAM starts at physical address 0, but on tegra30 SDRAM
> starts at 0x80000000. It's possible to build a kernel image which can deal
> with this, but the uImage still uses a hardcoded address. This results
> in requiring 2 different uImages even though the zImage is the same.

This is a problem with the uImage format.  It can only be fixed in uboot
- it's not a kernel problem.

> Has anyone thought of a solution to this problem?

There was talk about making '0' or something a special address, and
fixing uboot to place it appropriately (in much the same way that the
other boot loaders such as blob's offset from the start of RAM, or
redboot's scripted loading which takes the load address.)



More information about the linux-arm-kernel mailing list