Want to run L4Re on Raspberry PI.

Lei Zhou lezhou at blackberry.com
Tue May 28 23:21:41 CEST 2019

Thanks Paul for your prompt response.  I will give it try and see how it goes.    Regards,   Lei

From: l4-hackers [l4-hackers-bounces at os.inf.tu-dresden.de] on behalf of Paul Boddie [paul at boddie.org.uk]
Sent: Tuesday, May 28, 2019 5:09 PM
To: l4-hackers at os.inf.tu-dresden.de
Subject: Re: Want to run L4Re on Raspberry PI.

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:


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

svn cat https://urldefense.proofpoint.com/v2/url?u=https-3A__svn.l4re.org_repos_oc_l4re_trunk_repomgr&d=DwICAg&c=yzoHOc_ZK-sxl-kfGNSEvlJYanssXN3q-lhj0sp26wE&r=zgPsMwBitHoKyTzLULGKGmtjlsV9d0M7_KqUo-WYeMg&m=J6lpTAqtNJtvcMcj_FL4Mh9mKv7PvWan1CJ_GXFQ640&s=iwTTp83xiXt_B-XgoUs54kVI1OK1jf7mIHg30tkYst0&e= > repomgr
./repomgr init https://urldefense.proofpoint.com/v2/url?u=https-3A__svn.l4re.org_repos_oc_l4re&d=DwICAg&c=yzoHOc_ZK-sxl-kfGNSEvlJYanssXN3q-lhj0sp26wE&r=zgPsMwBitHoKyTzLULGKGmtjlsV9d0M7_KqUo-WYeMg&m=J6lpTAqtNJtvcMcj_FL4Mh9mKv7PvWan1CJ_GXFQ640&s=VJi33FgFeBX0YtZmFv1DEWCOobhIjjZE2DF_cQkzLtg&e= 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

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

cd ../../../l4

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

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

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!


l4-hackers mailing list
l4-hackers at os.inf.tu-dresden.de

More information about the l4-hackers mailing list