How to use u-boot-beaglebone port?

Ian Lepore ian at freebsd.org
Tue Mar 17 16:00:11 UTC 2015


On Tue, 2015-03-17 at 09:55 -0400, Paul Mather wrote:
> On Mar 16, 2015, at 3:39 PM, Ian Lepore <ian at FreeBSD.org> wrote:
> 
> > On Sun, 2015-03-15 at 19:57 -0700, Tim Kientzle wrote:
> >>> On Mar 12, 2015, at 5:59 PM, Paul Mather <paul at gromit.dlib.vt.edu> wrote:
> >>> 
> >>> Has anyone successfully used the sysutils/u-boot-beaglebone port?
> >>> 
> >>> I managed to build [1] and install it today.  I tried to install it to the SD card FAT partition, as per the README, and the result was an unbootable system.
> >>> 
> >>> When I copied the u-boot.img file as u-boot.img (rather than the bb-uboot.img as suggested in the README), I got it to start up to the "U-Boot#" prompt.
> >> 
> >> 
> >> Apparently, no one ever patched the port to use bb-uboot.img and bb-ubldr
> >> as the name.
> >> 
> >> I did this in Crochet when I was experimenting with having multiple
> >> U-Boots on a single SD card image.  That experiment was to try
> >> to see what would be required to build single images that booted on
> >> multiple different devices.
> >> 
> > 
> > When I created the u-boot-beaglebone port I specifically removed that
> > bb- prefix stuff, because there will never be a unified image that runs
> > on both rpi and beaglebone [*].  I had hoped someone would update
> > crochet to use the new ports and this is one of the minor changes that
> > would be needed on the crochet side.
> > 
> > -- Ian
> > 
> > [*] Because armv6 != armv7 in this case.  While armv6 is synonymous with
> > armv7 for most purposes in freebsd, the rpi is the exception to that in
> > that it really IS armv6, and that leads to the kernel being built with
> > different cache maintenance routines that don't work on armv7.
> 
> 
> Does the sysutils/u-boot-beaglebone boot the BeagleBone Black for you?  As I reported earlier in the start to this thread, I can't get it to boot the system for me.
> 
> I've copied MLO, u-boot.img, and /boot/ubldr to the FAT partition, but I just get to where U-Boot loads ubldr and then pauses before starting over again in a loop.
> 
> Are there some other files that need to be copied to the FAT partition, or are those three files, plus the defaults compiled into u-boot.img sufficient to boot the BeagleBone Black from SD card?
> 
> Cheers,
> 
> Paul.

Yep, it works for me on BBW and BBB.  The only time I've seen a totally
silent lockup like that is when the loadaddr variable in the uboot env
didn't match the UBLDR_LOADADDR value when ubldr was compiled.  For BB,
those values are usually 0x88000000, iirc.  If you do a "readelf -a
ubldr" on your build system you should see a line like

  Entry point address:               0x88000074

and whatever it is should be your uboot loadaddr + 0x74.

You should only need MLO, u-boot.img, and ubldr on the fat partition.
(There is an optional uEnv.txt that can be there, but it's not required
to boot.)

-- Ian




More information about the freebsd-arm mailing list