l4-hurd
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

L4 hello world root server


From: Marcus Brinkmann
Subject: L4 hello world root server
Date: Tue, 6 May 2003 04:53:35 +0200
User-agent: Mutt/1.5.3i

Hi guys,

I wrote a very basic hello world root server for L4.  In fact, it is so
simple, that is also a kernel on its very own (you can use it with GRUB).

This is for those people who think that pingpong is bloated :)

The kernel only supports ia32 (if you need another architecure, use that
architectures crt0 and putchar routine).

The crt0-ia32 I use is a mix of the ones I found in glibc, grub and l4,
with some cruft removed and more comments.  Also, it prints the return
value from main().  It doesn't trap to the debugger, though, you might
want to add that yourself (I didn't because when the debugger comes up,
the upper two lines are scrolled off the screen).

It comes with a very simple printf from GRUB.  You might prefer the one
from L4's libio, which is a wee bit more feature complete and supports other
architectures as well.

Just run make, copy the file rootserver to your other L4 files (for example
in (hd0,1)/boot/l4) and run GRUB this way:

root= (hd0,1)
kernel=/boot/l4/kickstart
module=/boot/l4/ia32-kernel
module=/boot/l4/sigma0
module=/boot/l4/rootserver

Or simply:

root= (hd0,1)
kernel=/boot/l4/rootserver

Hehe :)  Of course, you will not want to stay with a lame hello world
message, but you will want to explore the capabilities of L4.  If you want
to use libl4 (and/or libio), you will need to add them to LDLIBS and
the path to them to the linker flags.  Likewise for the header files and the
compiler flags.

Thanks,
Marcus

-- 
`Rhubarb is no Egyptian god.' GNU      http://www.gnu.org    address@hidden
Marcus Brinkmann              The Hurd http://www.gnu.org/software/hurd/
address@hidden
http://www.marcus-brinkmann.de/

Attachment: kernel-hello-world.tar.gz
Description: Binary data


reply via email to

[Prev in Thread] Current Thread [Next in Thread]