ubldr vs ubldr.bin?

Ian Lepore ian at freebsd.org
Sun Dec 17 17:29:42 UTC 2017


On Fri, 2017-11-10 at 18:50 -0700, Sergey Manucharian wrote:
> 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
> 

Some bug fixes from PR 224008 were applied recently (about a week ago),
I wonder if they might fix the problem you're seeing?

-- Ian


More information about the freebsd-arm mailing list