[U-Boot] booting single uImage on platforms with different base addresses for SDRAM
Steve Chen
schen at mvista.com
Thu Sep 22 15:52:08 CEST 2011
On Thu, Sep 22, 2011 at 7:57 AM, Nicolas Pitre <nico at fluxnic.net> wrote:
> On Thu, 22 Sep 2011, Russell King - ARM Linux wrote:
>
> > 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.)
>
> ... or make u-Boot support plain zImage on ARM (like it apparently does
> for MIPS). The u-Boot load command can accept a destination memory
> address just fine, but u-Boot always insists on relocating it when it is
> a uImage.
>
>
Also, check out this thread.
http://comments.gmane.org/gmane.linux.ports.arm.kernel/95030
You may find it useful as a reference.
Regards,
Steve
More information about the U-Boot
mailing list