Booting on Raspberry Pi

Adam Lackorzynski adam at
Mon Sep 9 00:16:46 CEST 2013


On Fri Sep 06, 2013 at 19:42:12 +0200, Robert Kaiser wrote:
> i'm currently trying to get Fiasco.OC + L4Re up and running on a
> Raspberry Pi, but no luck :-(
> I have gotten as far as building a bootstrap_hello.elf file. According
> to previous posts here,  I should just copy this file to the first
> partition of a linux-bootable SD card, add an entry like
> "kernel=bootstrap_hello.elf" to config.txt, and I should see some
> messages at the serial port as the Pi boots L4. Alas, my Pi stays silent.
> If I then simply remove the added line from config.txt, leaving
> everything else the same, Linux boots from the card alright and I can
> see its messages on the serial port. Thus, I'm confident that my
> hardware set-up should be OK.
> I am not absolutely sure wether I got the building of the boot file
> right. What surprises me is that it is an ELF file: I have previously
> followed the "Baking Pi" tutorial  at
> There I used
> to boot *raw* binaries which expected to be loaded at 0x8000. In
> contrast, this file here displays as an ELF file with .text starting at 
> 0x01000000. Is that how it should be?

Using a rawimage also seems more reasonable to me. Where the code starts
in memory doesn't really matter as long as it stays in RAM. 0x01000000
is the typical start address of L4 bootstrap.
I personally used u-boot all the time instead of the built-in loader as
this also allows to boot via tftp, however, iirc, the built-in one did
also work but I can't check myself right now.
> The building process also creates a file named "bootstrap_hello", but
> that is simply a copy of bootstrap_hello.elf. What's the point of this?

Add .elf is just a hint that this is an ELF file. There's also
'make rawimage' generating *.raw and 'make uimage' generating *.uimage
formats (also see 'make help' for list of targets).

Adam                 adam at

More information about the l4-hackers mailing list