|
Using the snapshot
To get started with the snapshot you can
Additional questions are answered in the FAQ.
In order to build the provided source code, you should follow these instructions:
Required additional packages on OpenSUSE
In OpenSUSE, you can use the software management component of the Yast2
control center to install the following additional packages:
-
autoconf
-
automake
-
bison
-
doxygen
-
flex
-
gcc
-
gcc-c++
-
latex2html
-
ncurses-devel
-
python-curses
-
tetex / latex
-
transfig
-
zlib-devel
Required additional packages on Debian or Ubuntu
-
automake1.9
-
bison
-
build-essential
-
flex
-
gawk
-
latex2html
-
protoize
-
tcl8.4
-
tetex-extra
-
transfig
-
zlib1g-dev
Unpacking the source code
Create a new directory (e.g., ~/opentc/src/) and unpack the
source tarball into it. The tarball contains the snapshot directory, which is structured as follows:
-
Makefile
-
Creates the default configuration for Fiasco, L4Linux 2.6 and L4 Environment L4Env.
-
l4
-
This directory contains the sources of the L4 Environment L4Env, uClibc and
some tools needed for the build environment.
-
l4/pkg
-
The L4 Environment.
-
l4/pkg/uclibc
-
The uClibc.
-
l4/pkg/tool
-
Tools for L4Env.
-
tools
-
Additional tools.
-
kernel/fiasco
-
The microkernel L4 Fiasco source tree.
-
l4linux-2.6
-
The L4 Linux 2.6 source tree.
-
build
-
The directory containing the build directories of L4Env, Fiasco and L4Linux.
The related binaries will be created here.
-
dice
-
This directory contains the sources of DICE.
Building the snapshot
Default configuration
You can install in one step the whole snapshot by calling 'make' in
the root of the extracted source tree. This is the
same as executing both following commands:
-
- 'make configure-all': configure the whole snapshot with the default
configuration.
-
- 'make build-all': build the snapshot.
Customized configuration
Alternatively, you can customize the configuration by calling 'make config' and 'make'
in the following build directories:
-
build/l4
- Contains the overall L4 configuration for the userland.
-
build/fiasco_ia32
- Contains the configuration for the L4 Fiasco kernel.
-
build/linux
- Contains the configuration of L4Linux to build without device
drivers.
-
build/linux_drv
- Contains the configuration of L4Linux to build with device
drivers (Network etc.).
Be careful! Your changes in the configuration of Fiasco, L4Env or L4Linux are made at your own risk! Only limited support is provided!
We also provide prebuilt binaries for IA-32/i586 and
Fiasco ABI version v2. The structure of the unpacked directory tree looks like this:
-
build/l4/bin/x86_586/l4v2/
-
This directory contains the binaries of the supported and translated L4Env services.
-
build/fiasco_ia32/
-
This directory contains the Fiasco binary.
-
build/l4/lib/x86_586/, build/l4/lib/x86_586/l4v2/
-
These directories contain L4Env libraries.
-
build/linux_drv/
-
L4Linux compiled with device drivers.
-
build/linux/
-
L4Linux compiled without device drivers.
Unpack the demo tarball. You can run the
image in a Virtual Machine (VM) to test the demo. You need at least
416MB for the L4Linux migration demo. Please enable also the serial
output to see information about the system. If you for example are
using Qemu, the command line looks like following:
#> qemu -m 416 -serial stdio l4env-snap-demo-2008-04-15.img
Adapt this accordingly to your VM you prefer.
If you boot the image, you will see an grub start menu with several
start entries.
-
The first demo shows ORe in action, our network multiplexer. ORe
connects two L4Linux'es. After booting please login as root without
password. You should be able to ping the second L4Linux
(192.168.0.2).
The second demo starts a hello world application which restricted
IPC communication rights. You can see at the output that
communication is allowed to several basic services by IPCmon. IPC
is monitored and restricted/allowed by the microkernel L4/Fiasco.
The management of who is allowed to communicate to whom is done
by a user level service called ipcmon.
-
In the next demos at least one L4Linux instance is started. Please
login as root without password and read the README as stated during
the login prompt for details. The demos deals with the BMSI which
is developed in OpenTC and with L4Linux migration.
-
Additionally two low level test applications are provided (dde and
dde26). With dde and dde26 it is possible to run Linux drivers
completly isolated from each other in user mode on top of our
microkernel L4/Fiasco. DDE is a framework to run Linux 2.4 drivers,
DDE2.6 provides a framework to run recent Linux 2.6 drivers. DDE and
DDE2.6 are used for example by ORe - our network multiplexer -, by STPM -
a service to access TPM chips - and by FLIPS - a network stack.
If you want to create your own iso images, please consult our
Wiki, e.g. CD Image creation
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.
Yes, all tarballs and also the disk image will be updated whenever we release
a patch. However, this is only true for patches that have been officially announced
on the web page. The filenames of the tarballs and the image also reflect the
patchlevel as stated in the corresponding announcement in order to avoid confusion.
The image l4env-snap-demo-2008-04-15.img contains a partition table and a ext2 partition.
If you want to modify the contents of the image manually, you need to mount it with:
-
mount -o loop,offset=32256 l4env-snap-demo-2008-04-15.img mnt/
The L4 binaries reside in /boot/bin/ and the grub config file is /boot/grub/menu.lst.
|