Install Marionnet: HOWTO for OpenSuse

Start install OpenSuSE 11.0, choose Gnome as Desktop When in “Installation Summary”, add the following groups (Patterns) to software selection :

  • Console Tools
  • Base Development
  • Gnome Development
  • C/C++ Development
  • RPM Build environment
  • Linux Kernel Development
  • Perl development

when asked wether to install online updates, go for it…

Add the following repositories:

  • packman repository
  • “OpenSuSE BuildService – GNOME:Community” repository
  • “OpenSuSE BuildService – GNOME:STABLE” repository
  • “OpenSuSE BuildService – X11:XGL” repository
  • “OpenSuSE Education” repository

(you will have to import the keys of the repositories when asked for).

When SuSE install in finished, launch yast (you'll have to enter your root's password)

Start Software management, then in Software Filter field type (without the quotes) “graphviz” install the following pacakges (right click)

  • graphviz-doc
  • graphviz-ocaml
  • graphviz-perl
  • graphviz-tcl

in filter type "uml", install uml-utilities

in filter type "bridge", install bridge-utils

in filter type "netatalk", install netatalk and natatalk-devel

in filter type "lablgl", install lablgl and lablgl-devel

in filter type "lablgt", install lablgtk2 and lablgtk2-devel

in filter type "libpcap", install libpcap-devel

in filter type "bzr", install a recent version of it

click “apply” to install the packages and the dependancies. when asked wether to import more packages, reply no. Close Yast and open Firefox

 On OpenSuse Website, click "Downloads" then "Search for packages" (en haut sur le menu d'acceuil de opensuse) or click >here<  and search the following packages and for each one click on "Direct Install":

  • Type "libglade2" and install libglade2 and libglade2-devel
  • Type “gmp” and install gmp
  • Type “ghc” and install ghc and ghc-prof
  • Type “gtk-devel” and install gtk-devel
  • Type “gtkglarea” and install gtkglarea and gtkglarea-devel
  • Type “ocaml” and install ocaml
    Then, as root:
    # rpm -Uvh ocaml-3.10.2-22.1.src.rpm
  • Type “lablgtk2” and install labgtk2
    Then, as root:
    # rpm -Uvh lablgtk2-2.10.1-20.1.src.rpm
  • Type “camlp4” and install camlp4

 

Open a terminal and type su - (From now, I'll do all as root, but adapt to a more secure solution if you like)

# cd /usr/src/packages/SPECS/

edit ocaml.spec, and search the %build section after the make world line, add the following lines

make bootstrap
make opt
make opt.opt

save the file, then type the following commands

# rpmbuild -bi ocaml.spec
# cd /usr/src/packages/BUILD/ocaml-3.10.2
# make install
# cd /usr/src/packages/SPECS/

edit lablgtk2.spec, and search the %build section after the ./configure line, change the make in make world

save the file, then type the following commands

# rpmbuild -bi lablgtk2.spec
# cd /usr/src/packages/BUILD/lablgtk2-2.10.1
# make install

A link is missing in uml-utilities, add it:

# ln -s /usr/lib64/uml/port-helper /bin

now, it's time to get and compile the marionnet sources

# mkdir /usr/src/marionnet
# cd /usr/src/marionnet
# bzr get --verbose lp:ocamlbricks/0.90.x ocamlbricks
# bzr get --verbose lp:marionnet/0.90.x marionnet
# cd ocamlbricks
# make clean
# make
# make install
# cd ../marionnet
# make clean
# make
# make install

We also need vde:

# cd /usr/src
# svn co https://vde.svn.sourceforge.net/svnroot/vde/trunk/vde-2 vde_svn
# cd vde_svn
# autoreconf -fi 
# ./configure --enable-experimental  
# make
# make install
# ldconfig
# wirefilter

you should get a Usage message from wirefilter.

last stage is to get the filesystem images and kernels for marionnet guests

# cd /tmp
# wget http://www.marionnet.org/download/snapshots/stuff/filesystems-most-recent.tar.bz2
# tar xjf filesystems.tar.bz2 -C /usr/local/share/marionnet/
# wget http://www.marionnet.org/download/snapshots/stuff/uml-kernel-binaries-most-recent.tar.bz2
# tar xjf uml-kernel-binaries.tar.bz2 -C /usr/local/share/marionnet

Now, we are ready to start marionnet:

# marionnet-daemon.byte

Open a second terminal window(or tab) as a normal user

$ marionnet.byte

If you have any question, feel free to contact me : This email address is being protected from spambots. You need JavaScript enabled to view it.

(I've replaced references to darcs, which we don't use any longer, with references to bzr; anyway I don't know OpenSuse, so this is untested — This email address is being protected from spambots. You need JavaScript enabled to view it. 2010/05/12 11:48)