Compiling Marionnet: HOWTO for RedHat-like distributions

Install the following packages and their dependencies from your distribution package system — you can use drakrpm on Mandriva, for example:

gcc bzr vde2 x11-server-xephyr libglade2.0_0-devel libncurses5-devel uml-utilities bridge-utils graphviz make gettext konsole gnome-terminal xterm

Let's work as the root user, it's simpler:

su -

You will be prompted for the root password.

We will work with sources in a temporary directory:

mkdir ~/tmp || true

Mandriva distributes some OCaml packages, but not everything we need. Rather than filling the holes, let's just ignore packages and compile everything OCaml-related from sources.

Download, compile and install OCaml:

cd ~/tmp
wget http://caml.inria.fr/pub/distrib/ocaml-3.11/ocaml-3.11.0.tar.bz2
tar xfv ocaml-3.11.0.tar.bz2
cd ocaml-3.11.0
./configure && make world.opt && make install && make installopt
cd /usr/local/include
ln -s ~/tmp/ocaml-3.11.0/byterun caml

Download, compile and install lablgtk2:

cd ~/tmp
wget http://wwwfun.kurims.kyoto-u.ac.jp/soft/olabl/dist/lablgtk-2.12.0.tar.gz
tar xfv lablgtk-2.12.0.tar.gz
cd lablgtk-2.12.0
./configure --with-threads=yes --with-glade && make && make opt && make install

Download, compile and install the bleeding-edge version of ocamlbricks:

cd ~/tmp
bzr get --verbose lp:ocamlbricks/0.90.x ocamlbricks
cd ocamlbricks
make && make install

Download, compile and install the bleeding-edge version of marionnet:

cd ~/tmp
bzr get --verbose lp:marionnet/0.90.x marionnet
cd marionnet
make && make install

Download and install virtual machine (and router) filesystems; you will need some free disk space for this step:

cd /usr/local/share/marionnet/
wget http://www.marionnet.org/download/snapshots/stuff/filesystems-most-recent.tar.bz2
tar xfv filesystems-most-recent.tar.bz2
rm -f filesystems-most-recent.tar.bz2

Download and install UML kernels:

cd /usr/local/share/marionnet/
wget http://www.marionnet.org/download/snapshots/stuff/uml-kernel-binaries-most-recent.tar.bz2
tar xfv uml-kernel-binaries-most-recent.tar.bz2
rm -f uml-kernel-binaries-most-recent.tar.bz2

Post-installation setup

Marionnet will work after the steps above, but there are a couple of optional features which need some system configuration. If you want to have an internet access from the virtual machines, you need to create a bridge in /etc/sysconfig/network-scripts/ifcfg-br0 as follows (you may change dhcp by static and add a static address) :

DEVICE=br0
BOOTPROTO=dhcp
ONBOOT=yes
TYPE=Bridge

Next you have to add an ethernet wired card to this bridge (wifi does not work for the moment), it is achieved by adding the following line at the end of /etc/sysconfig/network-scripts/ifcfg-eth0

BRIDGE=br0

From now on, your computer will start with the bridge operationnal, so the marionnet daemon can use it.

We also have a whole page about Marionnet post-installation setup.