Difference between revisions of "Vnx-install"
(→Installation over Ubuntu 10.04/9.10) |
|||
(71 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
{{Title|VNX (Virtual Networks over X virtualization) v0.14 beta}} | {{Title|VNX (Virtual Networks over X virtualization) v0.14 beta}} | ||
− | == Installation | + | == Installation over Ubuntu 10.04/9.10 == |
− | |||
− | |||
This section describes the procedure for installing VNX over Ubuntu 10.04 or 9.10. Open a root shell window and follow these steps: | This section describes the procedure for installing VNX over Ubuntu 10.04 or 9.10. Open a root shell window and follow these steps: | ||
Line 10: | Line 8: | ||
<li>Install all packages required (basic development, virtualization, perl libraries and auxiliar packages):</li> | <li>Install all packages required (basic development, virtualization, perl libraries and auxiliar packages):</li> | ||
apt-get update | apt-get update | ||
− | apt-get install build-essential qemu-kvm libvirt-bin vlan xterm bridge-utils | + | apt-get install build-essential qemu-kvm libvirt-bin vlan xterm \ |
− | screen virt-manager virt-viewer libxml-checker-perl \ | + | bridge-utils screen virt-manager virt-viewer libxml-checker-perl \ |
− | + | libxml-parser-perl libnetaddr-ip-perl libnet-pcap-perl \ | |
− | + | libnet-ipv6addr-perl liberror-perl libexception-class-perl \ | |
− | + | uml-utilities libxml-libxml-perl libxml2-dev libgnutls-dev \ | |
+ | libdevmapper-dev libterm-readline-perl-perl libnet-telnet-perl \ | ||
+ | libnet-ip-perl libreadonly-perl libmath-round-perl libappconfig-perl \ | ||
+ | libdbi-perl graphviz libnl-dev genisoimage gnome-terminal libfile-homedir-perl | ||
+ | |||
<!--Note: for Ubuntu 9.04 change "qemu-kvm" package by "qemu kvm" --> | <!--Note: for Ubuntu 9.04 change "qemu-kvm" package by "qemu kvm" --> | ||
− | |||
<li>If you use 64 bits version of Ubuntu, install 32 bits compatibility libraries:</li> | <li>If you use 64 bits version of Ubuntu, install 32 bits compatibility libraries:</li> | ||
apt-get install ia32-libs | apt-get install ia32-libs | ||
− | <li>Install libvirt 0. | + | <li>Install libvirt 0.8.5:</li> |
/etc/init.d/libvirt-bin stop | /etc/init.d/libvirt-bin stop | ||
− | wget http://libvirt.org/sources/libvirt-0. | + | wget http://libvirt.org/sources/libvirt-0.8.5.tar.gz |
− | tar xfvz libvirt-0. | + | tar xfvz libvirt-0.8.5.tar.gz |
− | cd libvirt-0. | + | cd libvirt-0.8.5 |
./configure --without-xen --prefix=/usr && make && make install | ./configure --without-xen --prefix=/usr && make && make install | ||
/etc/init.d/libvirt-bin start | /etc/init.d/libvirt-bin start | ||
− | '''NOTE''': | + | '''NOTE''': VNX should work with libvirt versions from 0.7.5 to 0.8.5 (it has been mainly tested with 0.7.5 and 0.8.5). Note that, although libvirt 0.7.5 is available as a package in Ubuntu 10.04, it has some problems related with the Apparmor profiles configured for libvirt. If you disable Apparmor (with "/etc/init.d/apparmor stop"), VNX will work with libvirt 0.7.5 installed as package, however we recommend to download and compile version 0.8.5 as described above, in order to maintain Apparmor in your system. |
− | |||
− | |||
<li>Install Sys::Virt perl module:</li> | <li>Install Sys::Virt perl module:</li> | ||
Line 48: | Line 47: | ||
<li>Install VNX:</li> | <li>Install VNX:</li> | ||
− | wget -N http:// | + | mkdir /tmp/vnx-update |
− | tar xfvz vnx- | + | cd /tmp/vnx-update |
− | cd vnx- | + | wget -N http://idefix.dit.upm.es/download/vnx/vnx-latest.tgz |
+ | tar xfvz vnx-latest.tgz | ||
+ | cd vnx-* | ||
./install_vnx | ./install_vnx | ||
+ | |||
+ | <li>Create the VNX config file (/etc/vnx.conf). You just can move the sample config file:</li> | ||
+ | mv /etc/vnx.conf.sample /etc/vnx.conf | ||
<li>Download root file systems from http://idefix.dit.upm.es/download/vnx/filesystems and copy them to /usr/share/vnx/filesystems directory:</li> | <li>Download root file systems from http://idefix.dit.upm.es/download/vnx/filesystems and copy them to /usr/share/vnx/filesystems directory:</li> | ||
Line 57: | Line 61: | ||
# ubuntu server | # ubuntu server | ||
− | wget -N http://idefix.dit.upm.es/download/vnx/filesystems/root_fs_ubuntu-10. | + | wget -N http://idefix.dit.upm.es/download/vnx/filesystems/root_fs_ubuntu-10.10-v02.qcow2.bz2 |
− | bunzip2 root_fs_ubuntu-10. | + | bunzip2 root_fs_ubuntu-10.10-v02.qcow2.bz2 |
− | ln -s root_fs_ubuntu-10. | + | ln -s root_fs_ubuntu-10.10-v02.qcow2 root_fs_ubuntu |
# ubuntu with gui | # ubuntu with gui | ||
− | wget -N http://idefix.dit.upm.es/download/vnx/filesystems/root_fs_ubuntu-10. | + | wget -N http://idefix.dit.upm.es/download/vnx/filesystems/root_fs_ubuntu-10.10-gui-v01.qcow2.bz2 |
− | bunzip2 root_fs_ubuntu-10. | + | bunzip2 root_fs_ubuntu-10.10-gui-v01.qcow2.bz2 |
− | ln -s root_fs_ubuntu-10. | + | ln -s root_fs_ubuntu-10.10-gui-v01.qcow2 root_fs_ubuntu-gui |
# freebsd server | # freebsd server | ||
− | wget -N http://idefix.dit.upm.es/download/vnx/filesystems/root_fs_freebsd-v01.qcow2.bz2 | + | wget -N http://idefix.dit.upm.es/download/vnx/filesystems/root_fs_freebsd-8.1-v01.qcow2.bz2 |
− | bunzip2 root_fs_freebsd-v01.qcow2.bz2 | + | bunzip2 root_fs_freebsd-8.1-v01.qcow2.bz2 |
− | ln -s root_fs_freebsd-v01.qcow2 root_fs_freebsd | + | ln -s root_fs_freebsd-8.1-v01.qcow2 root_fs_freebsd |
# freebsd gui | # freebsd gui | ||
− | wget -N http://idefix.dit.upm.es/download/vnx/filesystems/root_fs_freebsd-gui-v01.qcow2.bz2 | + | wget -N http://idefix.dit.upm.es/download/vnx/filesystems/root_fs_freebsd-8.1-gui-v01.qcow2.bz2 |
− | bunzip2 root_fs_freebsd-gui-v01.qcow2.bz2 | + | bunzip2 root_fs_freebsd-8.1-gui-v01.qcow2.bz2 |
− | ln -s root_fs_freebsd-gui-v01.qcow2 root_fs_freebsd-gui | + | ln -s root_fs_freebsd-8.1-gui-v01.qcow2 root_fs_freebsd-gui |
# winxp and win7 | # winxp and win7 | ||
Line 83: | Line 87: | ||
<li>Additionally, if you plan to use VNUML root filesystem:</li> | <li>Additionally, if you plan to use VNUML root filesystem:</li> | ||
# VNUML root_fs_tutorial and kernel | # VNUML root_fs_tutorial and kernel | ||
− | cd /usr/share/vnx/ | + | cd /usr/share/vnx/filesystems |
wget -N http://idefix.dit.upm.es/download/vnx/filesystems/root_fs_tutorial-0.6.0.bz2 | wget -N http://idefix.dit.upm.es/download/vnx/filesystems/root_fs_tutorial-0.6.0.bz2 | ||
bunzip2 root_fs_tutorial-0.6.0.bz2 | bunzip2 root_fs_tutorial-0.6.0.bz2 | ||
Line 98: | Line 102: | ||
− | === | + | === Additional install steps for Dynamips support === |
+ | |||
+ | * Install Dynamips and Dynagen: | ||
+ | apt-get install dynamips dynagen | ||
+ | |||
+ | * Create a file /etc/init.d/dynamips (taken from http://7200emu.hacki.at/viewtopic.php?t=2198): | ||
+ | <pre> | ||
+ | #!/bin/sh | ||
+ | # Start/stop the dynamips program as a daemon. | ||
+ | # | ||
+ | ### BEGIN INIT INFO | ||
+ | # Provides: dynamips | ||
+ | # Default-Start: 2 3 4 5 | ||
+ | # Default-Stop: 0 1 6 | ||
+ | # Short-Description: Cisco hardware emulator daemon | ||
+ | ### END INIT INFO | ||
+ | |||
+ | DAEMON=/usr/bin/dynamips | ||
+ | NAME=dynamips | ||
+ | PORT=7200 | ||
+ | PIDFILE=/var/run/$NAME.pid | ||
+ | LOGFILE=/var/log/$NAME.log | ||
+ | DESC="Cisco Emulator" | ||
+ | SCRIPTNAME=/etc/init.d/$NAME | ||
+ | |||
+ | test -f $DAEMON || exit 0 | ||
+ | |||
+ | . /lib/lsb/init-functions | ||
+ | |||
+ | |||
+ | case "$1" in | ||
+ | start) log_daemon_msg "Starting $DESC " "$NAME" | ||
+ | start-stop-daemon --start --chdir /tmp --background --make-pidfile --pidfile $PIDFILE --name $NAME --startas $DAEMON -- -H $PORT -l $LOGFILE | ||
+ | log_end_msg $? | ||
+ | ;; | ||
+ | stop) log_daemon_msg "Stopping $DESC " "$NAME" | ||
+ | start-stop-daemon --stop --quiet --pidfile $PIDFILE --name $NAME | ||
+ | log_end_msg $? | ||
+ | ;; | ||
+ | restart) log_daemon_msg "Restarting $DESC " "$NAME" | ||
+ | start-stop-daemon --stop --retry 5 --quiet --pidfile $PIDFILE --name $NAME | ||
+ | start-stop-daemon --start --chdir /tmp --background --make-pidfile --pidfile $PIDFILE --name $NAME --startas $DAEMON -- -H $PORT -l $LOGFILE | ||
+ | log_end_msg $? | ||
+ | ;; | ||
+ | status) | ||
+ | status_of_proc -p $PIDFILE $DAEMON $NAME && exit 0 || exit $? | ||
+ | #status $NAME | ||
+ | #RETVAL=$? | ||
+ | ;; | ||
+ | *) log_action_msg "Usage: $SCRIPTNAME {start|stop|restart|status}" | ||
+ | exit 2 | ||
+ | ;; | ||
+ | esac | ||
+ | exit 0 | ||
− | + | </pre> | |
− | < | ||
− | + | * Set execution permissions for the script and add it to system start-up: | |
+ | chmod +x /etc/init.d/dynamips | ||
+ | update-rc.d dynamips defaults | ||
+ | /etc/init.d/dynamips start | ||
− | + | * Download and install cisco IOS image: | |
− | + | cd /usr/share/vnx/filesystems | |
− | + | # Cisco image | |
− | + | wget ... c3640-js-mz.124-19.image | |
− | + | ln -s c3640-js-mz.124-19.image c3640 | |
− | + | * Calculate the idle-pc value for your computer following the procedure in http://dynagen.org/tutorial.htm: | |
− | + | dynagen /usr/share/vnx/examples/R.net | |
− | + | console R # type 'no' to exit the config wizard and wait | |
− | + | # for the router to completely start | |
− | + | idle-pc get R | |
+ | Once you know the idle-pc value for your system, include it in /etc/vnx.conf file. | ||
− | + | === Additional install steps for Olive support === | |
− | |||
− | |||
− | |||
− | |||
− | + | Several additional steps are needed to support Olive (Juniper) routers in VNX scenarios: | |
− | |||
+ | <ul> | ||
− | + | <!-- Ya no hace falta desde que se usa <qemu:commandline> | |
− | + | <li>Install a patched version of libvirt 0.8.5 with support to define the bios used by a virtual machine:</li> | |
− | + | <ul> | |
+ | <li>Copy the following content to a file named libvirt-0.8.5-biosfile.patch (based on http://www.mail-archive.com/libvir-list@redhat.com/msg15952.html):</li> | ||
<pre> | <pre> | ||
diff -crB libvirt-0.8.5.orig/src/conf/domain_conf.c libvirt-0.8.5/src/conf/domain_conf.c | diff -crB libvirt-0.8.5.orig/src/conf/domain_conf.c libvirt-0.8.5/src/conf/domain_conf.c | ||
Line 180: | Line 237: | ||
</pre> | </pre> | ||
− | + | <li>Install libvirt 0.8.5 with that patch applied:</li> | |
+ | service libvirt-bin stop | ||
+ | wget http://libvirt.org/sources/libvirt-0.8.5.tar.gz | ||
+ | tar xfvz libvirt-0.8.5.tar.gz | ||
+ | cd libvirt-0.8.5 | ||
+ | patch -p1 -i ../libvirt-0.8.5-biosfile.patch | ||
+ | ./configure --without-xen --prefix=/usr && make && make install | ||
+ | service libvirt-bin start | ||
+ | |||
+ | </ul> | ||
+ | --> | ||
+ | <li>Download old qemu bios from 0.10.6 version and copy it to /usr/share/qemu directory:</li> | ||
wget http://downloads.sourceforge.net/project/kvm/qemu-kvm/0.10.6/qemu-kvm-0.10.6.tar.gz | wget http://downloads.sourceforge.net/project/kvm/qemu-kvm/0.10.6/qemu-kvm-0.10.6.tar.gz | ||
tar xfvz qemu-kvm-0.10.6.tar.gz | tar xfvz qemu-kvm-0.10.6.tar.gz | ||
cp qemu-kvm-0.10.6/pc-bios/bios.bin /usr/share/qemu-kvm/bios-0.10.6.bin | cp qemu-kvm-0.10.6/pc-bios/bios.bin /usr/share/qemu-kvm/bios-0.10.6.bin | ||
− | + | <!-- Not needed, it seems to work without downloading this drivers | |
− | < | + | <li>Download i82559 ROM from the latest qemu versions (Ubuntu 10.04 does not include that ROM in qemu-kvm package):</li> |
− | + | wget http://downloads.sourceforge.net/project/kvm/qemu-kvm/0.12.5/qemu-kvm-0.12.5.tar.gz | |
+ | tar xfvz qemu-kvm-0.12.5.tar.gz | ||
+ | cp qemu-kvm-0.12.5/pc-bios/pxe-i82559er.bin /usr/share/qemu-kvm/ | ||
+ | --> | ||
+ | </ul> | ||
+ | |||
+ | == Installation over Fedora 11 (Draft) == | ||
+ | |||
+ | Follow this steps to install VNX over Fedora 11: | ||
+ | <ul> | ||
+ | |||
+ | <li>Install packages:</li> | ||
+ | yum -y groupinstall "Development Tools" | ||
+ | yum install qemu-kvm libvirt virt-manager virt-viewer perl-XML-LibXML | ||
+ | yum install perl-XML-DOM perl-NetAddr-IP perl-Readonly perl-TermReadKey | ||
+ | yum install perl-Net-Pcap perl-Net-IPv6Addr perl-Net-Telnet perl-Error | ||
+ | yum install perl-Exception-Class perl-ExtUtils-MakeMaker tunctl screen wget | ||
+ | yum install libxml2-devel gnutls-devel device-mapper-devel uml_utilities | ||
+ | yum install roxterm xterm graphviz perl-AppConfig | ||
+ | |||
+ | <li>Install libvirt 0.8.5:</li> | ||
+ | /etc/init.d/libvirtd stop | ||
+ | wget http://libvirt.org/sources/libvirt-0.8.5.tar.gz | ||
+ | tar xfvz libvirt-0.8.5.tar.gz | ||
+ | cd libvirt-0.8.5 | ||
+ | ./configure --without-xen --prefix=/usr && make && make install | ||
+ | /etc/init.d/libvirtd start | ||
+ | |||
+ | <li>Install SysVirt manually:</li> | ||
+ | wget http://search.cpan.org/CPAN/authors/id/D/DA/DANBERR/Sys-Virt-0.2.4.tar.gz | ||
+ | tar xfvz Sys-Virt-0.2.4.tar.gz | ||
+ | cd Sys-Virt-0.2.4 | ||
+ | perl Makefile.PL | ||
+ | make install | ||
+ | <!-- | ||
+ | <li> Instalar VNUML sobre Fedora 11 siguiendo la receta en http://www.dit.upm.es/vnumlwiki/index.php/Fedora11</li> | ||
+ | |||
+ | <li> Instalar paquetes y librerías necesarias:</li> | ||
+ | yum install qemu-kvm libvirt virt-manager virt-viewer perl-XML-LibXML perl-Sys-Virt | ||
+ | yum -y install bridge-utils readline-devel perl-Module-Build screen expat-devel libpcap-devel | ||
+ | yum -y install perl-Net-Pcap perl-NetAddr-IP perl-Net-IPv6Addr perl-XML-DOM perl-Exception-Class | ||
+ | yum -y install perl-TermReadKey perl-Error perl-CPAN uml_utilities xterm tunctl | ||
+ | |||
+ | <li>Install XML::Checker perl library:</li> | ||
+ | perl -MCPAN -e shell | ||
+ | install XML::Checker | ||
+ | --> | ||
+ | <li>Add symbolic link for kvm:</li> | ||
+ | ln -s /usr/bin/qemu-kvm /usr/bin/kvm | ||
+ | |||
+ | <li>Install VNX:</li> | ||
+ | mkdir /tmp/vnx-update | ||
+ | cd /tmp/vnx-update | ||
+ | wget -N http://idefix.dit.upm.es/download/vnx/vnx-latest.tgz | ||
+ | tar xfvz vnx-latest.tgz | ||
+ | cd vnx-* | ||
+ | ./install_vnx | ||
+ | |||
+ | <li>Create the VNX config file (/etc/vnx.conf). You just can move the sample config file:</li> | ||
+ | mv /etc/vnx.conf.samble /etc/vnx.conf | ||
+ | |||
+ | <li>Disable host firewall or, alternatively, configure "tun" type network interfaces as trusted interfaces (System->Firewall->Trusted Interfaces).</li> | ||
+ | |||
+ | <li>Download root file systems from http://idefix.dit.upm.es/download/vnx/filesystems and copy them to /usr/share/vnx/filesystems directory:</li> | ||
+ | cd /usr/share/vnx/filesystems | ||
+ | |||
+ | # ubuntu server | ||
+ | wget -N http://idefix.dit.upm.es/download/vnx/filesystems/root_fs_ubuntu-10.10-v01.qcow2.bz2 | ||
+ | bunzip2 root_fs_ubuntu-10.10-v01.qcow2.bz2 | ||
+ | ln -s root_fs_ubuntu-10.10-v01.qcow2 root_fs_ubuntu | ||
+ | |||
+ | # ubuntu with gui | ||
+ | wget -N http://idefix.dit.upm.es/download/vnx/filesystems/root_fs_ubuntu-10.10-gui-v01.qcow2.bz2 | ||
+ | bunzip2 root_fs_ubuntu-10.10-gui-v01.qcow2.bz2 | ||
+ | ln -s root_fs_ubuntu-10.10-gui-v01.qcow2 root_fs_ubuntu-gui | ||
+ | |||
+ | # freebsd server | ||
+ | wget -N http://idefix.dit.upm.es/download/vnx/filesystems/root_fs_freebsd-8.1-v01.qcow2.bz2 | ||
+ | bunzip2 root_fs_freebsd-8.1-v01.qcow2.bz2 | ||
+ | ln -s root_fs_freebsd-8.1-v01.qcow2 root_fs_freebsd | ||
+ | |||
+ | # freebsd gui | ||
+ | wget -N http://idefix.dit.upm.es/download/vnx/filesystems/root_fs_freebsd-8.1-gui-v01.qcow2.bz2 | ||
+ | bunzip2 root_fs_freebsd-8.1-gui-v01.qcow2.bz2 | ||
+ | ln -s root_fs_freebsd-8.1-gui-v01.qcow2 root_fs_freebsd-gui | ||
+ | |||
+ | # winxp and win7 | ||
+ | # Sorry! Unfortunately for legal reasons we cannot distribute windows XP | ||
+ | # or Windows 7 root filesystems. See VNX documentation for detailed recipes | ||
+ | # to create these root fylesystems from scratch | ||
+ | |||
+ | </ul> | ||
+ | |||
+ | === Additional install steps for Dynamips support === | ||
+ | |||
+ | * Install Dynamips and Dynagen: | ||
+ | wget http://downloads.sourceforge.net/project/dyna-gen/dynamips%20Linux%20RPM/0.2.8-RC2/dynamips-0.2.8RC2-1.i386.rpm | ||
+ | rpm -i dynamips-0.2.8RC2-1.i386.rpm | ||
+ | wget http://downloads.sourceforge.net/project/dyna-gen/dynagen%20source%20_%20Linux/dynagen%200.11.0/dynagen-0.11.0-1.fc9.noarch.rpm | ||
+ | rpm -i dynagen-0.11.0-1.fc9.noarch.rpm | ||
+ | |||
+ | * Set execution permissions for the script and add it to system start-up: | ||
+ | chkconfig --add dynamips | ||
+ | /etc/init.d/dynamips start | ||
+ | |||
+ | * Download and install cisco IOS image: | ||
+ | cd /usr/share/vnx/filesystems | ||
+ | # Cisco image | ||
+ | wget ... c3640-js-mz.124-19.image | ||
+ | ln -s c3640-js-mz.124-19.image c3640 | ||
+ | |||
+ | * Calculate the idle-pc value for your computer following the procedure in http://dynagen.org/tutorial.htm: | ||
+ | dynagen /usr/share/vnx/examples/R.net | ||
+ | console R # type 'no' to exit the config wizard and wait | ||
+ | # for the router to completely start | ||
+ | idle-pc get R | ||
+ | Once you know the idle-pc value for your system, include it in /etc/vnx.conf file. | ||
+ | |||
+ | === Additional install steps for Olive support === | ||
+ | |||
+ | Several additional steps are needed to support Olive (Juniper) routers in VNX scenarios: | ||
+ | |||
+ | <ul> | ||
+ | |||
+ | <li>Download old qemu bios from 0.10.6 version and copy it to /usr/share/qemu directory:</li> | ||
+ | wget http://downloads.sourceforge.net/project/kvm/qemu-kvm/0.10.6/qemu-kvm-0.10.6.tar.gz | ||
+ | tar xfvz qemu-kvm-0.10.6.tar.gz | ||
+ | cp qemu-kvm-0.10.6/pc-bios/bios.bin /usr/share/qemu/bios-0.10.6.bin | ||
+ | |||
+ | </ul> | ||
+ | |||
+ | |||
− | |||
− | |||
− | |||
− | |||
− | |||
<!-- COSAS ANTIGUAS --> | <!-- COSAS ANTIGUAS --> |
Latest revision as of 18:17, 10 May 2011
VNX (Virtual Networks over X virtualization) v0.14 beta
Contents
Installation over Ubuntu 10.04/9.10
This section describes the procedure for installing VNX over Ubuntu 10.04 or 9.10. Open a root shell window and follow these steps:
- Install all packages required (basic development, virtualization, perl libraries and auxiliar packages):
apt-get update apt-get install build-essential qemu-kvm libvirt-bin vlan xterm \ bridge-utils screen virt-manager virt-viewer libxml-checker-perl \ libxml-parser-perl libnetaddr-ip-perl libnet-pcap-perl \ libnet-ipv6addr-perl liberror-perl libexception-class-perl \ uml-utilities libxml-libxml-perl libxml2-dev libgnutls-dev \ libdevmapper-dev libterm-readline-perl-perl libnet-telnet-perl \ libnet-ip-perl libreadonly-perl libmath-round-perl libappconfig-perl \ libdbi-perl graphviz libnl-dev genisoimage gnome-terminal libfile-homedir-perl
apt-get install ia32-libs
/etc/init.d/libvirt-bin stop wget http://libvirt.org/sources/libvirt-0.8.5.tar.gz tar xfvz libvirt-0.8.5.tar.gz cd libvirt-0.8.5 ./configure --without-xen --prefix=/usr && make && make install /etc/init.d/libvirt-bin start
NOTE: VNX should work with libvirt versions from 0.7.5 to 0.8.5 (it has been mainly tested with 0.7.5 and 0.8.5). Note that, although libvirt 0.7.5 is available as a package in Ubuntu 10.04, it has some problems related with the Apparmor profiles configured for libvirt. If you disable Apparmor (with "/etc/init.d/apparmor stop"), VNX will work with libvirt 0.7.5 installed as package, however we recommend to download and compile version 0.8.5 as described above, in order to maintain Apparmor in your system.
- For Ubuntu 10.04, just install the libsys-virt-perl package
apt-get install libsys-virt-perl
wget http://search.cpan.org/CPAN/authors/id/D/DA/DANBERR/Sys-Virt-0.2.3.tar.gz tar xfvz Sys-Virt-0.2.3.tar.gz cd Sys-Virt-0.2.3 perl Makefile.PL make install
mkdir /tmp/vnx-update cd /tmp/vnx-update wget -N http://idefix.dit.upm.es/download/vnx/vnx-latest.tgz tar xfvz vnx-latest.tgz cd vnx-* ./install_vnx
mv /etc/vnx.conf.sample /etc/vnx.conf
cd /usr/share/vnx/filesystems # ubuntu server wget -N http://idefix.dit.upm.es/download/vnx/filesystems/root_fs_ubuntu-10.10-v02.qcow2.bz2 bunzip2 root_fs_ubuntu-10.10-v02.qcow2.bz2 ln -s root_fs_ubuntu-10.10-v02.qcow2 root_fs_ubuntu # ubuntu with gui wget -N http://idefix.dit.upm.es/download/vnx/filesystems/root_fs_ubuntu-10.10-gui-v01.qcow2.bz2 bunzip2 root_fs_ubuntu-10.10-gui-v01.qcow2.bz2 ln -s root_fs_ubuntu-10.10-gui-v01.qcow2 root_fs_ubuntu-gui # freebsd server wget -N http://idefix.dit.upm.es/download/vnx/filesystems/root_fs_freebsd-8.1-v01.qcow2.bz2 bunzip2 root_fs_freebsd-8.1-v01.qcow2.bz2 ln -s root_fs_freebsd-8.1-v01.qcow2 root_fs_freebsd # freebsd gui wget -N http://idefix.dit.upm.es/download/vnx/filesystems/root_fs_freebsd-8.1-gui-v01.qcow2.bz2 bunzip2 root_fs_freebsd-8.1-gui-v01.qcow2.bz2 ln -s root_fs_freebsd-8.1-gui-v01.qcow2 root_fs_freebsd-gui # winxp and win7 # Sorry! Unfortunately for legal reasons we cannot distribute windows XP # or Windows 7 root filesystems. See VNX documentation for detailed recipes # to create these root fylesystems from scratch
# VNUML root_fs_tutorial and kernel cd /usr/share/vnx/filesystems wget -N http://idefix.dit.upm.es/download/vnx/filesystems/root_fs_tutorial-0.6.0.bz2 bunzip2 root_fs_tutorial-0.6.0.bz2 ln -s root_fs_tutorial-0.6.0 root_fs_tutorial cd /usr/share/vnx/kernels wget -N http://jungla.dit.upm.es/~vnx/download/kernels/linux-2.6.18.1-bb2-xt-4m chmod +x linux-2.6.18.1-bb2-xt-4m ln -s linux-2.6.18.1-bb2-xt-4m linux
NOTE for Ubuntu 10.04.1: It seems that an additional package has to be installed:
apt-get install kvm-pxe
Additional install steps for Dynamips support
- Install Dynamips and Dynagen:
apt-get install dynamips dynagen
- Create a file /etc/init.d/dynamips (taken from http://7200emu.hacki.at/viewtopic.php?t=2198):
#!/bin/sh # Start/stop the dynamips program as a daemon. # ### BEGIN INIT INFO # Provides: dynamips # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Cisco hardware emulator daemon ### END INIT INFO DAEMON=/usr/bin/dynamips NAME=dynamips PORT=7200 PIDFILE=/var/run/$NAME.pid LOGFILE=/var/log/$NAME.log DESC="Cisco Emulator" SCRIPTNAME=/etc/init.d/$NAME test -f $DAEMON || exit 0 . /lib/lsb/init-functions case "$1" in start) log_daemon_msg "Starting $DESC " "$NAME" start-stop-daemon --start --chdir /tmp --background --make-pidfile --pidfile $PIDFILE --name $NAME --startas $DAEMON -- -H $PORT -l $LOGFILE log_end_msg $? ;; stop) log_daemon_msg "Stopping $DESC " "$NAME" start-stop-daemon --stop --quiet --pidfile $PIDFILE --name $NAME log_end_msg $? ;; restart) log_daemon_msg "Restarting $DESC " "$NAME" start-stop-daemon --stop --retry 5 --quiet --pidfile $PIDFILE --name $NAME start-stop-daemon --start --chdir /tmp --background --make-pidfile --pidfile $PIDFILE --name $NAME --startas $DAEMON -- -H $PORT -l $LOGFILE log_end_msg $? ;; status) status_of_proc -p $PIDFILE $DAEMON $NAME && exit 0 || exit $? #status $NAME #RETVAL=$? ;; *) log_action_msg "Usage: $SCRIPTNAME {start|stop|restart|status}" exit 2 ;; esac exit 0
- Set execution permissions for the script and add it to system start-up:
chmod +x /etc/init.d/dynamips update-rc.d dynamips defaults /etc/init.d/dynamips start
- Download and install cisco IOS image:
cd /usr/share/vnx/filesystems # Cisco image wget ... c3640-js-mz.124-19.image ln -s c3640-js-mz.124-19.image c3640
- Calculate the idle-pc value for your computer following the procedure in http://dynagen.org/tutorial.htm:
dynagen /usr/share/vnx/examples/R.net console R # type 'no' to exit the config wizard and wait # for the router to completely start idle-pc get R
Once you know the idle-pc value for your system, include it in /etc/vnx.conf file.
Additional install steps for Olive support
Several additional steps are needed to support Olive (Juniper) routers in VNX scenarios:
- Download old qemu bios from 0.10.6 version and copy it to /usr/share/qemu directory:
wget http://downloads.sourceforge.net/project/kvm/qemu-kvm/0.10.6/qemu-kvm-0.10.6.tar.gz tar xfvz qemu-kvm-0.10.6.tar.gz cp qemu-kvm-0.10.6/pc-bios/bios.bin /usr/share/qemu-kvm/bios-0.10.6.bin
Installation over Fedora 11 (Draft)
Follow this steps to install VNX over Fedora 11:
- Install packages:
yum -y groupinstall "Development Tools" yum install qemu-kvm libvirt virt-manager virt-viewer perl-XML-LibXML yum install perl-XML-DOM perl-NetAddr-IP perl-Readonly perl-TermReadKey yum install perl-Net-Pcap perl-Net-IPv6Addr perl-Net-Telnet perl-Error yum install perl-Exception-Class perl-ExtUtils-MakeMaker tunctl screen wget yum install libxml2-devel gnutls-devel device-mapper-devel uml_utilities yum install roxterm xterm graphviz perl-AppConfig
/etc/init.d/libvirtd stop wget http://libvirt.org/sources/libvirt-0.8.5.tar.gz tar xfvz libvirt-0.8.5.tar.gz cd libvirt-0.8.5 ./configure --without-xen --prefix=/usr && make && make install /etc/init.d/libvirtd start
wget http://search.cpan.org/CPAN/authors/id/D/DA/DANBERR/Sys-Virt-0.2.4.tar.gz tar xfvz Sys-Virt-0.2.4.tar.gz cd Sys-Virt-0.2.4 perl Makefile.PL make install
ln -s /usr/bin/qemu-kvm /usr/bin/kvm
mkdir /tmp/vnx-update cd /tmp/vnx-update wget -N http://idefix.dit.upm.es/download/vnx/vnx-latest.tgz tar xfvz vnx-latest.tgz cd vnx-* ./install_vnx
mv /etc/vnx.conf.samble /etc/vnx.conf
cd /usr/share/vnx/filesystems # ubuntu server wget -N http://idefix.dit.upm.es/download/vnx/filesystems/root_fs_ubuntu-10.10-v01.qcow2.bz2 bunzip2 root_fs_ubuntu-10.10-v01.qcow2.bz2 ln -s root_fs_ubuntu-10.10-v01.qcow2 root_fs_ubuntu # ubuntu with gui wget -N http://idefix.dit.upm.es/download/vnx/filesystems/root_fs_ubuntu-10.10-gui-v01.qcow2.bz2 bunzip2 root_fs_ubuntu-10.10-gui-v01.qcow2.bz2 ln -s root_fs_ubuntu-10.10-gui-v01.qcow2 root_fs_ubuntu-gui # freebsd server wget -N http://idefix.dit.upm.es/download/vnx/filesystems/root_fs_freebsd-8.1-v01.qcow2.bz2 bunzip2 root_fs_freebsd-8.1-v01.qcow2.bz2 ln -s root_fs_freebsd-8.1-v01.qcow2 root_fs_freebsd # freebsd gui wget -N http://idefix.dit.upm.es/download/vnx/filesystems/root_fs_freebsd-8.1-gui-v01.qcow2.bz2 bunzip2 root_fs_freebsd-8.1-gui-v01.qcow2.bz2 ln -s root_fs_freebsd-8.1-gui-v01.qcow2 root_fs_freebsd-gui # winxp and win7 # Sorry! Unfortunately for legal reasons we cannot distribute windows XP # or Windows 7 root filesystems. See VNX documentation for detailed recipes # to create these root fylesystems from scratch
Additional install steps for Dynamips support
- Install Dynamips and Dynagen:
wget http://downloads.sourceforge.net/project/dyna-gen/dynamips%20Linux%20RPM/0.2.8-RC2/dynamips-0.2.8RC2-1.i386.rpm rpm -i dynamips-0.2.8RC2-1.i386.rpm wget http://downloads.sourceforge.net/project/dyna-gen/dynagen%20source%20_%20Linux/dynagen%200.11.0/dynagen-0.11.0-1.fc9.noarch.rpm rpm -i dynagen-0.11.0-1.fc9.noarch.rpm
- Set execution permissions for the script and add it to system start-up:
chkconfig --add dynamips /etc/init.d/dynamips start
- Download and install cisco IOS image:
cd /usr/share/vnx/filesystems # Cisco image wget ... c3640-js-mz.124-19.image ln -s c3640-js-mz.124-19.image c3640
- Calculate the idle-pc value for your computer following the procedure in http://dynagen.org/tutorial.htm:
dynagen /usr/share/vnx/examples/R.net console R # type 'no' to exit the config wizard and wait # for the router to completely start idle-pc get R
Once you know the idle-pc value for your system, include it in /etc/vnx.conf file.
Additional install steps for Olive support
Several additional steps are needed to support Olive (Juniper) routers in VNX scenarios:
- Download old qemu bios from 0.10.6 version and copy it to /usr/share/qemu directory:
wget http://downloads.sourceforge.net/project/kvm/qemu-kvm/0.10.6/qemu-kvm-0.10.6.tar.gz tar xfvz qemu-kvm-0.10.6.tar.gz cp qemu-kvm-0.10.6/pc-bios/bios.bin /usr/share/qemu/bios-0.10.6.bin