[Top][All Lists]
[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/
kernel-hello-world.tar.gz
Description: Binary data
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- L4 hello world root server,
Marcus Brinkmann <=