Hello World is a very simple project to show you some of the basic components of an L4 based system and introduce you to use the build system and Kenge environment.
If you are reading this file from your disk, chances are you managed to get the software already. However if you are reading this on our webpages, then the procedure for obtaining the software might still be unclear.
The easiest thing to do is simply download the latest tarball from the Hello World project page.
Alternately, you can retreive the Hello World project directly from our version control repository.
Before you get started you will want to make sure you have all the necessary tools. This is described in detail on our required tools page. Basically you need Python, SCons, gcc and a simulator.
For the impatient:
$ scons machine=pc99
For a more extensive discussion of the scons based build system, see the build system pages.
Note that you always need to tell the build system what machine we want to compile for. We support a lot of IA32 (x86), MIPS and ARM targets, which are described in more detail on our supported machines page.
At this point, either scons built Iguana successfully, or it all crashed in a big heap of error messages. In the latter case the problem might be something simple to diagnose, (maybe you didn't install your cross compiler correctly) or it might be something a lot more complicated. In any case, feel free to ask on our mailing list, kenge-users@ertos.nicta.com.au.
Assuming that everything has just worked up to now, you should have a bootable image that you can run. Exactly what kind of bootable image you have depends on what your target is. For example, on ia32 it is a FAT filesystem image with grub installed on it. If your target is an ARM embedded board then you probably have an ELF file that can be loaded by your bootloader.
Again for the impatient:
$ scons machine=pc99 simulate
This requires you to have a supported simulator, see the supported simulators page for more information on supported simulators and their usage.
By specifying the simulate target you get the build system to start up the simulator with all the appropriate flags and configurations for the chosen platform.
The hello world project, when simulated, should load Pistachio, and then Iguana, and then print a simple message, after which the hello world process ends, and the system drops back into the kernel debugger.