Suse 10.1

Notas:

- añadir install Net::Pcap

Installing VNUML 1.6.1 over a fresh Suse 10.1 distribution --

Test results:

Installation steps:


 * 1) Do the normal installation using Suse 10.1 DVD. It is recomended to download updates using YOU (Yast Online Update). You can do that during the installation phase or later once the system has started.
 * 2) Install "bridge_utils" and "uml-utilities". In my case, bridge_utils were already installed. In the case of uml-utilities, as they have been eliminated from the distribution (in Suse 10.0 can be installed directly from Yast), I installed them directly from the source package I downloaded from http://user-mode-linux.sourceforge.net. Just download the source, uncompress it and "make; make install". You have to previosuly install "readline-devel" package from Yast. from Yast2 (the standard Suse package installer). Both of them come with the Suse 10.0 DVD.
 * 3) Install the perl module named "Module::Build".

The easiest way to do that is using MCPAN: > perl -MCPAN -e shell cpan> install Module::Build (Say NO if asked "Are you ready for manual configuration?")

Alternatively, you can download it from www.cpan.org (file Module-Build-XXXX.tar.gz) and follow the standar installation process: tar xfvz Module-Build... ; cd Module-Build...; perl Makefile.PL; make; make test; make install. 4 - Download the latest version of VNUML from http://www.dit.upm.es/vnuml and:

> tar xfvz vnuml-1.6.1-1.tar.gz	 > cd vnuml-1.6.1-1 > ./configure --with-build_modules > make > make install (answer "NO" to the question "Are you ready for manual configuration?". Answer the default option to other questions). > reexecute "make install" (I noticed some modules are not correctly downloaded sometimes...)

5 - If executed now, vnumparser.pl fails because some perl modules (NetAddr::IP, Net::IPv4Addr and Net::IPv6Addr) have not been correctly installed. Install them manually using MCPAN:

> perl -MCPAN -e shell cpan> install Net::IPv4Addr cpan> install Net::IPv6Addr cpan> force install NetAddr::IP (In my case, module NetAddr::IP fails one of the tests and it is not installed; that is why I have to use the "force" option to install it).

Or alternatively download and install them from www.cpan.org (files NetAddr-IP-XXX.tar.gz, Net-IPv6Addr-XXX.tar.gz and Net-IPv4Addr-0.08.tar.gz).

6 - Download root filesystem (root_fs_tutorial-0.3.X.bz2) from VNUML sourceforge site and copy it to /usr/local/share/vnuml/filesystems. Create a symbolic link to it named "root_fs_tutorial": > cp root_fs_tutorial-0.3.2.bz2 /usr/local/share/vnuml/filesystems > cd /usr/local/share/vnuml/filesystems > bunzip2 root_fs_tutorial-0.3.2.bz2 > ln -s root_fs_tutorial-0.3.2 root_fs_tutorial 7 - Download guest kernel (linux-2.6.XXXX.tar.bz2) from VNUML sourceforge site and copy it to /usr/local/share/vnuml/kernels/src. Untar the file, copy the kernel and create a symbolic link to it:

> mkdir /usr/local/share/vnuml/kernels/src > cp linux-2.6.XXXX.tar.bz2 /usr/local/share/vnuml/kernels/src > cd /usr/local/share/vnuml/kernels/src > tar xfvj linux-2.6.XXXX.tar.bz2 > cp linux-2.6.XXXX/linux-2.6.XXXX .. > cd .. > ln -s linux-2.6.XXXX linux 8 - Installation is finished. Launch the "simple" example to see if everything works:

> vnumparser.pl -t /usr/local/share/vnuml/examples/simple.xml -v Note: if you execute the example from a "root" session, you should add the option "-u root" at the end of the line. There are some bugs in 1.6.1-1 version that prevent a simulation to work when executed as "vnuml" user (the default when you do not use -u option) from a root session. Installing host kernel with SKAS patch --

- Download kernel sources using YAst (they are installed in /usr/src/linux)

- Run: /etc/init.d/running-kernel start ??

- Download skas-2.6.16-v8.2.patch.bz2: > cd /usr/src > wget http://www.user-mode-linux.org/~blaisorblade/patches/skas3-2.6/skas-2.6.16-v8.2/skas-2.6.16-v8.2.patch.bz2 - Apply patch:

> cd /usr/src/linux > bzcat ../skas-2.6.16-v8.2.patch.bz2 | patch -p1 > make clean > make oldconfig > make menuconfig (only if you want to change anything) > make > make modules >

-

VNUML works well over the default kernel that comes with Suse 10.0 (2.6.13-15) without the SKAS3 patch. However, the behaviour is improved if you recompile the host kernel with BlaisorBlade's SKAS3 patch.

To do that:

1 - Download kernel 2.6.13.4 sources from www.kernel.org

2 - Download SKAS patch from Blaisorblade's page (http://www.user-mode-linux.org/~blaisorblade/patches/skas3-2.6/skas-2.6.13-rc7-v8.2/)

3 - Execute the following steps: > bunzip2 ../skas-2.6.13-rc7-v8.2.patch.bz2 > tar xfj linux-2.6.13.4.tar.bz2 > cd linux-2.6.13.4/ > patch -p1 < ../skas-2.6.13-rc7-v8.2.patch > cp /boot/config-2.6.13-15-smp .config > make oldconfig > make > make modules > make modules_install > make install

4 - Restart the machine and test vnuml Note: I used the original kernel.org sources instead of the modified kernel sources distributed in Suse 10.0 (you can download them from Yast2, package kernel-sources) because I was not able to apply SKAS paches to that sources. Take into account that if you later upgrade the kernel using YOU, you will loose the SKAS patch. Instead you will have to upgrade the kernel manually, as described here.