How to run simple client server example

Björn Döbel doebel at
Mon Jun 24 10:38:50 CEST 2013

Hi Thang Tran,

> I'm new to Fiasco and L4Re. I want to write a new program in C++ which
> will run on L4Re. I'm looking at the simple client server example in the
> l4/pkg/examples/clntsrv directory for my reference. I was able to get it
> compiled eventually on L4Re, but I have no idea how to run it. Is there
> anyway that I can run examples/clntsrv package just like we run the
> hello package by using grub2iso and qemu?

For some explanation on how client/server programming works, please see

Setting up a run in Qemu works like this:

1) You compile L4Re and your own program. (You already did that.)
2) You setup l4/conf/Makeconf.boot once. There is an example
    file that you can start from. The relevant required changes are:

	* set MODULE_SEARCH_PATH to include your Fiasco.OC build dir
           (by default that's build/ in the kernel directory)
	* set QEMU_OPTIONS as needed (leaving the default shoud be ok)

3) For every program setup you need two things
    A) A modules.lst entry describes the kernel and binary you want to
       load. Examples are in l4/conf/modules.lst - the syntax is similar
       to GRUB config files.
    B) A Lua init script to launch your application(s). Again, examples
       are both in l4/conf and sometimes in the respective program direc-
       tories. For the clntsrv example, there is a clntsrv.cfg file in

Dipl.-Inf. Bjoern Doebel    Mail:  doebel at
TU Dresden, OS Chair        Phone: +49 351 463 38 799
Noethnitzer Str. 46         Fax:   +49 351 463 38 284
01187 Dresden, Germany      WWW:
"When the seagulls follow the trawler, it's because they think
  sardines will be thrown into the sea." (Eric Cantona)

More information about the l4-hackers mailing list