[U-Boot] zImage on ARM

Wolfgang Denk wd at denx.de
Thu Sep 9 09:26:39 CEST 2010


Dear Scott Wood,

In message <20100908160001.374ff382 at schlenkerla.am.freescale.net> you wrote:
>
> > 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?

Nothing.

I don't really understand what you want.

Your question was if U-Boot could "accept a simple binary, and just
run it in place without copying, like any other loader can".

I told you: Yes, we can.

Now you come up asking for fancy features like passing device tree
information (and probably boot arguments as well? and ATAGs in case of
an ARM kernel? and ... ?) which goes way beyond the "just run it in
place", and also way beyond what "any other loader can".

Yes, U-Boot supports all this stuff. It is supported in the context of
U-Boot images, usign FIT images as the recommended format, and still
supporting the old legacy 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

The go command takes arguments, which get passed to the started
application in the standard C calling convention. It is up to the
image to interpret these, then.

Note that you left the "simple binary ... like any other loader can"
track.


> > 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).

For a "simple binary" that we "just run in place"?


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

If zImage needs such additional information, then it's probably not a
"simple binary".

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
When properly administered, vacations do not  diminish  productivity:
for every week you're away and get nothing done, there's another when
your boss is away and you get twice as much done.  -- Daniel B. Luten


More information about the U-Boot mailing list