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

Open Trusted Computing (OpenTC)




Using the snapshot

Additional questions are answered in the FAQ.

Compile the source

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.


Prebuilt binaries of Fiasco, L4Env and L4Linux 2.6

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.

Using a disk image

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.

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 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
28. Feb 2007
· Copyright © 2001-2022 Operating Systems Group, TU Dresden | Impressum ·