Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 10 Feb 2013 20:49:19 -0700
From:      Warner Losh <imp@bsdimp.com>
To:        Tim Kientzle <tim@kientzle.com>
Cc:        freebsd-arm@freebsd.org, Brett Wynkoop <wynkoop@wynn.com>
Subject:   Re: building RaspPi Images
Message-ID:  <7F7AE905-7A08-48EE-8905-8D688266739A@bsdimp.com>
In-Reply-To: <1339E085-2B31-485D-9EED-9D0AFB7664C5@kientzle.com>
References:  <5116CB50.9080303@ceetonetechnology.com> <7757848F-45C6-4DEF-A4A2-5F900EB10A06@kientzle.com> <20130210012052.4d7e1a46@ivory.local> <58DCA6BE-8C06-4F69-81A2-A3582FBB5B12@kientzle.com> <E691571B-EA19-4485-BB02-7486685B44C7@bsdimp.com> <EB4A0D67-9813-47DA-B3DB-F1309B2773F5@kientzle.com> <8087503F-BE98-45B9-888B-044D9DA58B80@bsdimp.com> <20130210212025.009ee482@bender> <ADEA1B10-6C17-43C8-B364-8819593D312E@bsdimp.com> <1339E085-2B31-485D-9EED-9D0AFB7664C5@kientzle.com>

next in thread | previous in thread | raw e-mail | index | archive | help

On Feb 10, 2013, at 5:39 PM, Tim Kientzle wrote:

> On Feb 10, 2013, at 6:56 AM, Warner Losh wrote:
>>=20
>> Right, we're doing it wrong. Or rather, we're using the standalone =
interface when we should be using the linux interface.
>=20
> So you think that ubldr should startup like a Linux kernel?
> That's an interesting idea=85  Hmmmm=85..

If it isn't getting the FDT via the alternate interface, then yes.

>> The stand alone interface should, in theory, provide us with the DTB, =
but the code that is in ubldr doesn't seem to be reliably getitng this =
image.
>=20
> I don't think anyone has spent time on this.  We've
> just been focused on "making it work" and the compiled-in
> DTB does work for any single board.

Ah, that makes sense. I just know the theory, not the practice.  I =
haven't had time for armv6 stuff...

>> uboot is supposed pass dtb to us. We're using the self-hosted =
interface, rather than the linux interface, to boot. uboot is supposed =
to have a jump table that we find and use to get the dtb from it, but =
that code seems to not be working reliably.
>=20
> The interface works (I've spent a fair few hours fixing it),
> but I don't think anyone has tried getting the DTB from it.

We should try...

> Any ideas for addressing the load-address problem?
> E.g., RPi has initial RAM mapped starting at address 0
> and BeagleBone starts with RAM mapped to 0x80000000.
> Right now, that means we can't even share ubldr across
> those two systems because it has to be linked differently.

I'm unsure how Linux deals with it...  I'm guessing that if we can turn =
on the vm translation early enough, then this won't matter...

>> uboot gives linux images the DTB w/o any problem today, but you have =
to run mkimage to get the image file to load into uboot for that to =
work.
>=20
> Actually, the statement above isn't quite right for RPi.
> Linux on RPi doesn't use U-Boot.

Well, all Linux kernels require DTBs today, although some compile it =
into the image...

> So we're currently
> using:
>=20
> RPi boot loader =3D> U-Boot =3D> ubldr =3D> kernel.
>=20
> The RPi boot loader does load the FDT and will pass
> it to a Linux kernel, but I don't think U-Boot implements
> that part of the linux kernel startup (which is why ubldr
> on RPi looks at a particular address in RAM to get
> the FDT from the RPi boot loader).

Ah, it implements the standard interface. That should be an option, =
since it is relatively easy to do.

Maybe I should give in and get a RPi :)

Warner




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?7F7AE905-7A08-48EE-8905-8D688266739A>