Want to run L4Re on Raspberry PI.

Paul Boddie paul at boddie.org.uk
Tue May 28 23:09:22 CEST 2019


On Tuesday 28. May 2019 18.45.15 Lei Zhou wrote:
> HI,    I'm looking for the information and procedure how to compile and
> deploy L4Re on Raspberry PI.   Any feedbacks would be greatly appreciated!

I guess you should start here:

https://l4re.org/download.html
https://l4re.org/build.html
https://l4re.org/fiasco/build.html

If you are using a modern Debian-based system, you can get away with something 
like this to obtain all the tools needed for compilation:

apt-get install build-essential subversion libncurses5-dev gawk bison flex

This is a bit different from what the above pages say:

apt-get install make gawk g++ binutils pkg-config g++-multilib subversion \
                flex bison

But getting things like build-essential is less likely to cause surprises 
later on. Plus, I found the libncurses5-dev package to be necessary.

The online instructions have you downloading and running the repomgr tool to 
get the sources. If you are a bit cautious, like I am, you can do this in two 
steps:

svn cat https://svn.l4re.org/repos/oc/l4re/trunk/repomgr > repomgr
./repomgr init https://svn.l4re.org/repos/oc/l4re fiasco l4re

This lets you inspect the repomgr script and also allows you to keep it around 
in an obvious place.

At this point, you can build Fiasco.OC with something like this:

cd src/kernel/fiasco/
make BUILDDIR=mybuild
cd mybuild/
make config
make

Then, building L4Re should be possible by going back up to the src/l4 
directory:

cd ../../../l4

You may need to create a conf/Makeconf.boot file. I have the following in 
mine:

MODULE_SEARCH_PATH += $(L4DIR_ABS)/../kernel/fiasco/mybuild
MODULE_SEARCH_PATH += $(L4DIR_ABS)/conf/examples
MODULE_SEARCH_PATH += $(L4DIR_ABS)/pkg/io/io/config
BOOTSTRAP_SEARCH_PATH  = $(L4DIR_ABS)/conf/examples
BOOTSTRAP_SEARCH_PATH += $(L4DIR_ABS)/../kernel/fiasco/mybuild
BOOTSTRAP_SEARCH_PATH += $(L4DIR_ABS)/pkg/io/io/config
BOOTSTRAP_MODULES_LIST = $(L4DIR_ABS)/conf/modules.list

And then you can try and do something like this:

make B=mybuild
make O=mybuild config
make O=mybuild

If everything worked, you can try and build an image. This tends to be done as 
follows:

mkdir mybuild/images
make O=mybuild uimage E=hello

Deploying the image should be a matter of copying a file onto a suitable media 
device for the Raspberry Pi (SD card, I guess):

cp mybuild/images/bootstrap_hello.uimage /media/sdcard

Here, only you will really know where to copy the file to.

I hope this helps!

Paul




More information about the l4-hackers mailing list