Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 10 Mar 2013 08:53:37 -0600
From:      Ian Lepore <ian@FreeBSD.org>
To:        Mats Mellstrand <mats@exmandato.se>
Cc:        Tim Kientzle <tim@kientzle.com>, "freebsd-arm@freebsd.org" <freebsd-arm@FreeBSD.org>
Subject:   Re: RPi booting problem
Message-ID:  <1362927217.1291.257.camel@revolution.hippie.lan>
In-Reply-To: <0C96F8AF-4876-4FA2-8473-8A0A36422883@exmandato.se>
References:  <C0231594-5B2C-4192-84EE-9CF40C1584B6@exmandato.se> <DD5BC4B0-CCC8-4926-9B4F-C10E61E60392@kientzle.com> <0C96F8AF-4876-4FA2-8473-8A0A36422883@exmandato.se>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, 2013-03-10 at 09:40 +0100, Mats Mellstrand wrote:
> On 10 mar 2013, at 03:45, Tim Kientzle <tim@kientzle.com> wrote:
>=20
> >=20
> > On Mar 9, 2013, at 6:29 AM, Mats Mellstrand wrote:
> >=20
> >> Hi
> >>=20
> >> I have checked out the latest from head and built world and kernel (=
conf/RPI-B) and finally created and image that I written to a flash.
> >> I have used freebsd-uboot-20130201.tar.gz=20
> >>=20
> >> When I try to boot,  the uboot goes in to a cyclic restart...
> >>=20
> >> U-Boot 2013.01-rc1-g6709570-dirty (Nov 30 2012 - 19:09:28)
> >>=20
> >> DRAM:  448 MiB
> >> WARNING: Caches not enabled
> >> MMC:   bcm2835_sdhci: 0
> >> Using default environment
> >>=20
> >> In:    serial
> >> Out:   lcd
> >> Err:   lcd
> >> bcm2835: USB power in ON
> >> Net:   Net Initialization Skipped
> >> No ethernet found.
> >> Hit any key to stop autoboot:  0=20
> >> reading uEnv.txt
> >> reading boot.scr
> >> 137 bytes read in 9023 ms (0 Bytes/s)
> >> Running bootscript from mmc0 ...
> >> ## Executing script at 00200000
> >> reading ubldr
> >> 238023 bytes read in 60497 ms (2.9 KiB/s)
> >> ## Starting application at 0x02000054 ...
> >>=20
> >>=20
> >> U-Boot 2013.01-rc1-g6709570-dirty (Nov 30 2012 - 19:09:28)
> >>=20
> >> over and over =85.
> >=20
> > Seems like your ubldr is broken.
>=20
>=20
> Yes, that was the problem. Thank's!
>=20
> Now, what compiler flags should I use to build the ubldr?
> I have rebuilt ubldr many times.
>=20
>=20

The only flag I use that's specifically related to ubldr is
UBLDR_LOADADDR=3D which has to be set differently for each SoC.  It's the
physical address at which ubldr is loaded and runs, and it has to avoid
overlapping the addresses used by the kernel it's going to load.

A value of UBLDR_LOADADDR=3D0x81000000 works for both BeagleBone and RPi
due to an RPi quirk where 1 GB of address space is mapped to all four 1
GB windows, with different caching attributes in each mapping.  The
caching differences are not significant in terms of the bootloader, so
ubldr built for BB "just works" on RPi even though the normal ram
mapping for RPi starts at 0x0 rather than 0x80000000.

-- Ian





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1362927217.1291.257.camel>