Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 17 Mar 2015 14:21:26 -0400
From:      Paul Mather <paul@gromit.dlib.vt.edu>
To:        Ian Lepore <ian@freebsd.org>
Cc:        Tim Kientzle <tim@kientzle.com>, freebsd-arm <freebsd-arm@freebsd.org>
Subject:   Re: How to use u-boot-beaglebone port?
Message-ID:  <F7EAB879-E70D-4ED5-8C5B-3B21FBED123A@gromit.dlib.vt.edu>
In-Reply-To: <1426607993.25614.9.camel@freebsd.org>
References:  <17B779D7-2962-4455-9062-51411F316648@gromit.dlib.vt.edu> <986F5E5D-C784-4BEF-81E3-49A9F27C0E8F@kientzle.com> <1426534773.95554.15.camel@freebsd.org> <F016BFCC-8CAA-4AE6-8142-40A9B69BD707@gromit.dlib.vt.edu> <1426607993.25614.9.camel@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Mar 17, 2015, at 11:59 AM, Ian Lepore <ian@freebsd.org> wrote:

> On Tue, 2015-03-17 at 09:55 -0400, Paul Mather wrote:
>> On Mar 16, 2015, at 3:39 PM, Ian Lepore <ian@FreeBSD.org> wrote:
>>=20
>>> On Sun, 2015-03-15 at 19:57 -0700, Tim Kientzle wrote:
>>>>> On Mar 12, 2015, at 5:59 PM, Paul Mather <paul@gromit.dlib.vt.edu> =
wrote:
>>>>>=20
>>>>> Has anyone successfully used the sysutils/u-boot-beaglebone port?
>>>>>=20
>>>>> 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.
>>>>>=20
>>>>> 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.
>>>>=20
>>>>=20
>>>> Apparently, no one ever patched the port to use bb-uboot.img and =
bb-ubldr
>>>> as the name.
>>>>=20
>>>> 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.
>>>>=20
>>>=20
>>> 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.
>>>=20
>>> -- Ian
>>>=20
>>> [*] Because armv6 !=3D 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.
>>=20
>>=20
>> 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.
>>=20
>> 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.
>>=20
>> 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?
>>=20
>> Cheers,
>>=20
>> Paul.
>=20
> 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
>=20
>  Entry point address:               0x88000074
>=20
> and whatever it is should be your uboot loadaddr + 0x74.

My current /boot/ubldr entry point address appears to be 0x1000074, =
which seems to be derived from the default set in =
/usr/src/sys/boot/arm/uboot/Makefile.

What would I need to put in uEnv.txt to get such a ubldr to boot via the =
sysutils/u-boot-beaglebone port files?  Would I just need to have the =
single line "loadaddr=3D1000000" in uEnv.txt, or would I have to =
reproduce the whole environment embedded into u-boot.img?  (Do the =
settings in uEnv.txt replace entirely those in u-boot.img?)

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

It looks like your supposition above is correct and a mis-matching =
loadaddr variable is likely to blame.

Is a loadaddr of 0x1000000 correct for a BBB?

Cheers,

Paul.




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?F7EAB879-E70D-4ED5-8C5B-3B21FBED123A>