Back to the main page
The Fiasco µ-Kernel

Linux User-Mode Port

Using Fiasco-UX

Prerequisites

Put the following binaries into the same directory. Making symbolic links from their location to the directory should suffice if you don't want to copy them.

fiascoFiasco-UX µ-kernel binary
irq0Timer interrupt provider
sigma0Root Pager
roottaskRoot Task
ux_conFiasco-UX framebuffer console (optional)

Running

Fiasco-UX can be started just like any other Linux program from a shell. For example to see a list of possible command line options, type:
./fiasco --help

The following list explains the most important command line options in detail.

-l module Load an executable module, such as an L4 program. You need not load sigma0 and roottask this way - they are always loaded automatically. To pass command line options to modules put the module name and the command line in quotes.
-d module Pass a data module to an executable module. The specified data module will be passed to the last executable module preceding this option. Fiasco-UX will automatically modify the command-line of roottask such that roottask knows which modules belong to each other.
-m memsize Specifies how much physical memory Fiasco-UX emulates. The memory size is in megabytes and at most 1024 MB are supported.
-n tasknumber Allows the specified task number to perform native system calls and call directly into the Linux host kernel using int 0x80. This is useful for hybrid Linux/L4 programs.
-G geometry Specifies that the framebuffer console should be started and which resolution and color depth it should use. This requires ux_con to be present. You need not load ux_con yourself, it will be done automatically.

Examples

fiasco -l hello
An easy example for starters - load the L4 hello program.

fiasco -R "roottask -symbols -lines" -l hello
This example shows how to load symbol and line information for the kernel by invoking roottask with the respective options. Additionally the hello program is loaded.

fiasco -G 800x600@16 -m 128 -l names -l log -l dm_phys -l l4dope-ux -l vscrtest
A more complex example: Fiasco-UX emulates 128 MB of physical memory and starts a framebuffer console with a resolution of 800x600 pixels and 16 bit color depth. It will also load and run the L4 programs names, log, dm_phys, the DOpE window manager and the vscrtest application.

fiasco -G 1024x768@16 -m 256 -l names -l log -l dm_phys -l bootmod -l "vesaview video.vid -heap=0x01400000" -d video.vid
This example illustrates how command line parameters are specified for modules by putting the module name (vesaview) and its parameters in quotes. Additionally the data module (video.vid) is loaded - it will belong to vesaview, because that is the executable preceding the -d directive.

Shutting down

Pressing Ctrl-C at any time will invoke the built-in kernel debugger. To shut down Fiasco-UX and kill all L4 tasks press the caret key ^ at the kernel debugger prompt.


Udo Steinberg
Valid HTML 4.01! Last modified: Wed Jan 17 2007, 11.14:12 CET