Please help to start development on top of L4

Jayesh Salvi jayeshsalvi at
Fri Jun 17 21:08:33 CEST 2005

One piece of advice from my experience is, if you are doing programming - Do 
use emulator. Following is some part from my blog <>, 
I hope that will help you:

This time I decided to use emulator. My main interest is in coding rather 
than wasting time in installation on real hardware. So I first tried Bochs. 
And had trouble getting right versions of the kernel and patches that were 
required to install pistachio. Also the guy had incomplete tutorial, so 
couldn't figure out what to do after compiling the kernel. Here is the link:

Then I heard of QEMU.

The page tells how to install HURD and L4 on QEMU. But I was only interested 
in L4. So I only downloaded the pistachio demodisk from<>and ran it with QEMU:

$ qemu -dummy-net  -serial stdio -fda pistachio-ia32-0.4-demodisk.bin -boot a

And it just booted the qemu into pistachio for me. That's amazing. But the 
coolest thing is yet to come.

I learnt that this demodisk can be mounted as a file system, so I peeped 
into it by mounting it (described in the gnufans link above). This demodisk 
by default loads the pingpong program. So the demodisk has a pingpong binary 
among other stuff. Now pingpong is the simplest program you could expect to 
see in L4 source tree. It is just one file, with a main method. 
So it occured to my mind, that one can start coding the kernel if he\she can 
modify this file and just replace the binary in the demodisk with your own 
binary. Pretty easy.

But the compilation was a major trouble. It was the main trouble in my last 
experience with L4 and the main reason to drive me away. The key problem is 
the compiler version. I had suspected that back then, but couldn't install 
gcc 2.95 from its source code and later couldn't find all the rpms for the 
job. As my previous post indicates I recently got hold of full suite of gcc 
2.95 rpms and I successfully downgraded my gcc version to 2.95. Once done, 
it was just matter of typing make. And the binaries were ready.

I changed one message in the menu presented by pingpong to display my name, 
compiled it, and replaced the binary in the mounted demodisk with the new 
pingpong binary. Ran the QEMU and VOILA!!! My name was on the screen.

It's really a great start of the second inning with L4.

So to summarize, use gcc 2.95 with L4. Try your luck on an emulator, rather 
than getting frustrated with reboots of your real machine.

On 6/16/05, kathiravel thayapararajh <kthayapararajh at> wrote:
> Hi,
> I am interested in developing small Real Time OS on
> top the L4. But, I am a beginer in L4. I've
> successfully installed L4Ka::Pistachio on P4 machine.
> Now i want to practice L4 programming. To do that,
> which platform i want to use. i mean, is it possible
> to work on Redhat Linux and test it in the
> L4Ka::Pistachio or i want to go for any other
> enviornment on L4.
> Since I am a beginer, Could anybody please help me by
> giving some idea. then i able to start working on L4.
> Thanks in advance.
> Regards,
> Thayapararajh.
> ____________________________________________________
> Yahoo! Sports
> Rekindle the Rivalries. Sign up for Fantasy Football
> _______________________________________________
> l4-hackers mailing list
> l4-hackers at

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the l4-hackers mailing list