|
Using the snapshot
Additional questions are answered in the FAQ.
In order to build the provided source code on OpenSUSE
following steps are necessary.
Install gcc and g++ version 3.4
OpenSUSE 10.0 is not shipped with a prebuilt gcc 3.4. Therefore,
either a gcc and g++ 3.4 must be built from scratch or a prebuilt
gcc and g++ 3.4 can be used. The latter one can be found at our download section.
-
gcc34-3.4.3_16-0.1.i586.rpm
-
libstdc++34-devel-3.4.3_16-0.1.i586.rpm
-
gcc34-c++-3.4.3_16-0.1.i586.rpm
-
libstdc++34-3.4.3_16-0.1.i586.rpm
Note: For installing the libstdc++ RPM packet, use the '-f' option.
Required additional packages on OpenSUSE
Use in the Yast2 control center of OpenSUSE the software management component to install the following packets:
-
ncurses-devel
-
autoconf
-
automake
-
flex
-
bison
-
doxygen
-
python-curses
-
tetex / latex
-
latex2html
-
transfig
Building the source
Extract the source file. The structure looks like this:
-
.../Makefile
-
Creates the default configuration for Fiasco, L4Linux 2.6 and L4 Environment L4Env.
-
.../l4
-
This directory contains the sources of the L4 Fiasco mirokernel, L4Linux 2.6, L4 Environment L4Env, uClibc and
tools (like DICE).
-
.../l4/pkg
-
The L4 Environment.
-
.../l4/pkg/uclibc
-
The uClibc.
-
.../l4/tool
-
Tools like DICE.
-
.../l4/kernel/fiasco
-
The microkernel L4 Fiasco.
-
.../l4linux-2.6
-
The L4 Linux 2.6.
Call the .../Makefile in the root of the unzipped source code. This Makefile creates the default
configurations in the following build directories:
-
.../l4/kernel/fiasco/ia32
-
Contains the configured L4 Fiasco kernel.
-
.../l4lx
-
Contains the configuration of L4Linux to build without device drivers.
-
.../l4lx-drv
-
Contains the configuration of L4Linux to build with device drivers (Network etc.).
Build order
Enter the .../l4/ directory to call 'make', then the Fiasco kernel (.../l4/kernel/fiasc/ia32) and then the
L4Linux (.../l4lx and .../l4lx-drv) directories.
We also provide prebuilt binaries for ia32/586 and Fiasco ABI version v2. The structure of the directories looks
like this:
-
.../l4/bin/x86_586/l4v2
-
This directory contains the binaries of the supported and translated L4Env services.
-
.../l4/kernel/fiasco/ia32
-
This directory contains the Fiasco binary.
-
.../l4/lib/x86_586, .../l4/lib/x86_586/l4v2
-
These directories contain L4Env libraries.
-
.../l4lx-drv
-
L4Linux compiled with device drivers.
-
.../l4lx
-
L4Linux compiled without device drivers.
We provide a disk image which shows how to boot and use the binaries.
Using
To use the image, decompress it and put it onto a harddisk or use it as virtual harddisk in an emulator like qemu.
After booting with Grub, two L4Linux instances are started. The first one contains device drivers and is available
through the VGA console. The second one uses the second serial port ttyS1 as console. Both are connected via ORe,
therefore you can ping the second L4linux:
-
ping 192.168.0.2
Netcat can be used to gain a simple remote shell:
-
nc 192.168.0.2 22
How to change the Image?
The Image contains a partition table and one 256MB ext2 partition. To change the image you can mount it with
-
losetup -o 32256 /dev/loop0 image
-
mount /dev/loop0 mnt/
The L4 binaries reside in /bin/ and the grub config file is /boot/grub/menu.lst.
Patches are available in the download directory. Please note that only critical
bugfixes are available through this mechanism. Big changes and most feature requests are available with a next
snapshot.
Can I use CVS to get a patched version?
If you do not want to patch the source-code by hand you can update it via our remote CVS. In a source directory
you can simply issue the command:
-
cvs up -r opentc_2006_april
|