L4Ka Project

L4Ka::Hazelnut - Getting started

This page describes describes how to get started with L4Ka::Hazelnut on IA32.

1. Download executable suite

Download the executable suite from the download section.

2. Create Boot Floppy

You have to boot L4Ka::Hazelnut via a bootloader supporting the Multi-boot standard. Our favorite booter is GRUB which supports network based booting. You can download a floppy image of GRUB here. This image supports a set of standard network cards including AMD's PCNet32 which is supported by VMWare. Write the image to an empty floppy disk (on Linux/*BSD use dd, on Windows NT use rawrite2.exe).

3a. Setup TFTP and BOOTP

You have to setup your BOOTP daemon to assign your network card an IP address. Furthermore you need your tftp daemon configured to serve files from your /tftpboot directory.

On Windows NT this is more tricky. There are some free TFTP-daemons available (e.g. Cisco). For bootp you could use the DHCP server (only available on Windows NT Server).

3b. Copy files to your grub floppy

If you do not want to play around with TFTP and BOOTP you can simply generate a boot floppy which reads the initial configuration file from floppy. Instead of specifying (nd)/tftpboot/yourname/menu.lst you specify (fd0)/menu.lst which forces GRUB to read the configuration from the floppy.

4. Edit your menu.lst file

menu.lst specifies which files are loaded by GRUB. For L4Ka::Hazelnut you need a menu.lst file which looks like:

title=Hazelnut testsuite
kernel=(nd)/tftpboot/yourname/rmgr -sigma0
module=(nd)/tftpboot/yourname/x86-kernel
module=(nd)/tftpboot/yourname/sigma0
module=(nd)/tftpboot/yourname/root_task

If you boot from floppy disk substitute (nd)/tftpboot/yourname with (fd0) and make sure all filenames are 8.3 compatible.
root_task is your hello-world application. We provide a simple hello-world in the template directory (l4-ka/apps/template). Simply copy this directory to l4-ka/apps/root_task and compile. Watch out for the link address of root_task - it is dependend on your systems memory layout. (On x86 0x00300000 should work assuming you have a 64MB system.)

5. Untar/Unzip Binary Suite

If you boot via TFTP unpack the binary suite into your tftp directory. If you boot via floppy disk copy the binaries to your floppy disk.

6. Boot

Now you are all setup. Boot your test machine and if everything works fine you should see a welcome screen and afterwards you should see the kernel debugger's prompt.

If you do not have a separate test machine VMWare is a nice alternative.