[U-Boot] zImage on ARM

Scott Wood scottwood at freescale.com
Wed Sep 8 23:00:01 CEST 2010


On Wed, 8 Sep 2010 22:43:48 +0200
Wolfgang Denk <wd at denx.de> wrote:

> Dear Scott Wood,
> 
> In message <20100908153455.527fcd70 at schlenkerla.am.freescale.net> you wrote:
> >
> > > > > Why not use uImage like we do with other architectures? 
> > > > 
> > > > Whereas they'd say why can't U-Boot accept a simple binary, and just
> > > > run it in place without copying, like any other loader can?
> > > 
> > > U-Boot can do that. Use the "go" command.
> > 
> > Will things like the device tree get passed just as if the bootm
> > command were used?
> 
> No, of course not.  You asked about starting "a simple binary".
> 
> I warned you that you might lose some nice features...

What does passing a device tree have to do with the image format?

It seems like it should be an orthogonal issue.  At most it would
require the user to specify an argument to the go command, that
provides information (calling convention) that with uImage would have
been guessed from the OS type.  Though OSes can share a calling
convention, and OSes can change conventions... a Linux uImage that wants
a bd_t has the same OS type as one that wants a device tree.  Our
hypervisor lies and claims to be Linux so as to not require special
U-Boot support.

> But then - which other popular ARM boot loader supports passing a
> device tree?  Or which other popular embedded boot loader?

It's not a matter of whether it's a device tree versus something else,
but whether it is whatever Linux normally expects a loader to pass
(e.g. ATAGs).

It looks like the go command only supports passing argc/argv, so
U-Boot cannot boot a zImage with the go command.

-Scott



More information about the U-Boot mailing list