Ubuntu 6.02

Installation using debian package and vnuml repository


 Do the normal installation from Ubuntu CD. 

 Activate Ubuntu community package sources (universe). They are necesary to install some of the packages VNUML depends on. You can do it by one of two methods: 


 * Editing /etc/apt/sources.list and uncommenting the "deb ..." lines that end with "universe", or
 * Starting "synaptic" application (you can find it in System|Administration menu) and going to "Configuration|Repositories" menu option and selecting the the community repositories (universe).

 Update and upgrade the system: 

sudo su     apt-get update apt-get upgrade Note: remember that in Ubuntu when you issue a command preceded by sudo you have to type your own password, not the root one, which is disabled. You should restart the system after upgrading, as a new version of the kernel is installed.



Installation steps:

1 - Do the normal installation from Ubuntu CD.

2 - Activate Ubuntu community package sources (universe). They are necesary to install some of the packages VNUML depends on. You can do it by one of two methods:


 * Editing /etc/apt/sources.list and uncommenting the "deb ..." lines that end with "universe", or
 * Starting "synaptic" application (you can find it in System|Administration menu) and going to "Configuration|Repositories" menu option and selecting the the community repositories (universe).

3 - Update and upgrade the system:

> sudo su    	> apt-get update > apt-get upgrade Note: remember that in Ubuntu when you issue a command preceded by sudo you have to type your own password, not the root one, which is disabled. You should restart the system after upgrading, as a new version of the kernel is installed. 4 - Install development utils and vlan support (optional):

> apt-get -y install build-essential vlan 5 - Install VNUML related utilities and perl libraries:

> apt-get install bridge-utils uml-utilities > apt-get -y install libmodule-build-perl liberror-perl libexception-class-perl libxml-dom-perl libxml-checker-perl libterm-readkey-perl libnet-pcap-perl libnetwork-ipv4addr-perl libnetaddr-ip-perl

Net::IPv6Addr perl module is not avalaible as debian package, so it has to be installed using MCPAN: > perl -MCPAN -e "install Net::IPv6Addr" (answer "NO" if asked "Are you ready for manual configuration?". Answer the default option to other questions). 6 - Download the latest version of VNUML from http://www.dit.upm.es/vnuml and:

> tar xfvz vnuml-1.7.0-1.tar.gz	> cd vnuml-1.7.0-1 > ./configure > make > make install

7 - Download root filesystem (root_fs_tutorial-0.4.1.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.4.1.bz2 /usr/local/share/vnuml/filesystems > cd /usr/local/share/vnuml/filesystems > bunzip2 root_fs_tutorial-0.4.1.bz2 > ln -s root_fs_tutorial-0.4.1 root_fs_tutorial 8 - 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 - Create ssh key:

> ssh-keygen -t rsa1 9 - 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. Alternatively, you can execute the command "xhost +local:" to allow local X-windows connections.

Installing host kernel with SKAS patch --

VNUML works well over the standard kernel that comes with Ubuntu (using SKAS 0 mode). However, if you want to improve the performance, you can install the the SKAS 3 patch to the kernel. To do that:

1 - Install kernel sources and some system utilities:

> apt-get install linux-source libncurses5-dev initrd-tools

2 - Download SKAS3 patch from Blaisorblade's server and apply it to kernel sources:

> cd /usr/src > wget http://www.user-mode-linux.org/~blaisorblade/patches/skas3-2.6/skas-2.6.15-v8.2/skas-2.6.15-v8.2.patch.bz2 > tar xfvj linux-source-2.6.15.tar.bz2 > cd linux-source-2.6.15 > bzcat ../skas-2.6.15-v8.2.patch.bz2 | patch -p1

3 - Configure, compile and install the new kernel:

> make oldconfig > make (Note: I´ve got an error related to "drivers/usb/net/zd1211/zddevlist.h"; to solve it, do a "make menuconfig" and desactivate support for that usb card in "Device drivers|USB support|USB network adapters") > make modules > make modules_install > make install Note: make install fails and does neither generate initrd file nor configure grub. Do it by hand: > mkinitrd -o /boot/initrd.img-2.6-15.7-ubuntu1-skas3-v8.2 2.6-15.7-ubuntu1-skas3-v8.2 And edit /boot/grub/menu.lst and add a new entry for the new kernel like (this is just an example; change the parameters as appropriate to your system): title		Ubuntu, kernel 2.6.15.7-ubuntu1-skas3-v8.2 root		(hd0,3) kernel		/boot/vmlinuz-2.6.15.7-ubuntu1-skas3-v8.2 root=/dev/hda4 ro quiet splash initrd		/boot/initrd.img-2.6.15.7-ubuntu1-skas3-v8.2 savedefault boot