Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 10 Feb 2013 16:39:49 -0800
From:      Tim Kientzle <tim@kientzle.com>
To:        Warner Losh <imp@bsdimp.com>
Cc:        freebsd-arm@freebsd.org, Brett Wynkoop <wynkoop@wynn.com>
Subject:   Re: building RaspPi Images
Message-ID:  <1339E085-2B31-485D-9EED-9D0AFB7664C5@kientzle.com>
In-Reply-To: <ADEA1B10-6C17-43C8-B364-8819593D312E@bsdimp.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>

next in thread | previous in thread | raw e-mail | index | archive | help
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.

So you think that ubldr should startup like a Linux kernel?
That's an interesting idea=85  Hmmmm=85..

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

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.

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

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.

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.

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

Actually, the statement above isn't quite right for RPi.
Linux on RPi doesn't use U-Boot.  So we're currently
using:

RPi boot loader =3D> U-Boot =3D> ubldr =3D> kernel.

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

Tim




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1339E085-2B31-485D-9EED-9D0AFB7664C5>