ubldr vs ubldr.bin?

Sergey Manucharian sm at ara-ler.com
Sat Nov 11 01:50:45 UTC 2017


Excerpts from Ian Lepore's message from Wed 15-Jul-15 10:38:
> On Wed, 2015-07-15 at 15:04 +0200, Ronald Klop wrote:
> > Hello,
> >
> > What is the difference between ubldr and ubldr.bin?
> >
> > [root at sheeva ~]# ls -l /boot/ubldr*
> > -r--r--r--  1 root  wheel  283086 Jul 11 00:34 /boot/ubldr
> > -r--r--r--  1 root  wheel  235212 Jul 11 00:34 /boot/ubldr.bin
> > -r-xr-xr-x  1 root  wheel  214432 Jan  8  2015 /boot/ubldr.old
> >
> >
> > Regards,
> > Ronald.
> 
> ubldr is an elf binary that must be loaded at the address it was built
> for (the UBLDR_LOADADDR address).  ubldr.bin is a raw executable image
> (no elf headers) which is self-relocating and can be loaded at any
> address.  ubldr is launched with the bootelf command, and thus requires
> CONFIG_ELF in u-boot.  ubldr.bin is launched with "go ${loadaddr}".
> 
> So all in all, ubldr.bin is the new way of things, and ubldr is still
> being built only for compatibility with people that have older u-boot
> installed.  (Right now that's pretty much everybody, because I haven't
> actually updated any of the u-boot ports yet to use ubldr.bin, because
> I've been too busy with $work.)
> 
> The big thing ubldr.bin gets us is a common armv6[hf] userland that runs
> on any board.  Previously the single userland difference between various
> arm boards is that UBLDR_LOADADDR was different for each board.
> 
> -- Ian

Sorry for the resurrection of this old thread.

Why the mainstream u-boot cannot run ubldr.bin? Or am I missing
something?

I tried with BeagleBone Black and it doesn't work, resets CPU when
trying:

load mmc 0:1 0x82000000 ubldr.bin
go 0x82000000

-S



More information about the freebsd-arm mailing list