Ubuntu

From VNUML-WIKI
Revision as of 03:07, 11 February 2007 by Admin (talk | contribs) (New page: <pre> Installing VNUML 1.7.0 over a fresh Ubuntu 6.02 LTS distribution ---------------------------------------------------------------- David Fernndez (david@dit.upm.es) Dpto. Ingeniera ...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Installing VNUML 1.7.0 over a fresh Ubuntu 6.02 LTS distribution
----------------------------------------------------------------

David Fernndez (david@dit.upm.es)
Dpto. Ingeniera de Sistemas Telemticos
Universidad Politécnica de Madrid
version 1 - July 26th, 2006



Installation using debian package and vnuml repository:

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.
	

	
	


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.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.4.X.bz2 /usr/local/share/vnuml/filesystems
	> cd /usr/local/share/vnuml/filesystems
	> bunzip2 root_fs_tutorial-0.4.X.bz2
  > ln -s root_fs_tutorial-0.4.X 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
		
9 - Create ssh key:

	> ssh-keygen -t rsa1
	
10 - 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