Operating Systems · Institute for System Architecture · Dept. of CS · TU Dresden

Open Trusted Computing (OpenTC)




Using the snapshot

To get started with the snapshot you can

Additional questions are answered in the FAQ.


Compiling from source

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!

Prebuilt binaries of Fiasco, L4Env and L4Linux 2.6

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.

Running the demos

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


FAQ

Where can I download patches?

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 download already patched sources?

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.

How to mount and to modify the demo disk image?

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.
25. Mar 2009
· Copyright © 2001-2022 Operating Systems Group, TU Dresden | Impressum ·