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.