building RaspPi Images

Tim Kientzle tim at kientzle.com
Mon Feb 11 00:40:00 UTC 2013


On Feb 10, 2013, at 6:56 AM, Warner Losh wrote:
> 
> 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…  Hmmmm…..

> 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 => U-Boot => ubldr => 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



More information about the freebsd-arm mailing list