Difference between revisions of "Vnx-install-ubuntu2"

From VNX
Jump to: navigation, search
 
(9 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
{{Title|VNX Installation over Ubuntu}}
 
{{Title|VNX Installation over Ubuntu}}
  
This section describes the procedure for manually installing VNX over Ubuntu 12.04.  
+
This section describes the procedure for manually installing VNX over Ubuntu 12.04, 12.10 and 13.04.  
  
 
Open a root shell window and follow these steps:
 
Open a root shell window and follow these steps:
Line 7: Line 7:
  
 
<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
+
  sudo apt-get update
 
+
  sudo apt-get install qemu-kvm libvirt-bin vlan xterm bridge-utils screen virt-manager \
  apt-get install qemu-kvm libvirt-bin vlan xterm bridge-utils screen virt-manager \
+
  virt-viewer uml-utilities graphviz genisoimage gnome-terminal tree \
  virt-viewer libxml-checker-perl libxml-parser-perl libnetaddr-ip-perl libnet-pcap-perl \
+
  curl w3m picocom expect lxc wmctrl \
  libnet-ipv6addr-perl liberror-perl libexception-class-perl \
+
  libnetaddr-ip-perl libxml-libxml-perl libxml-tidy-perl libappconfig-perl \
  uml-utilities libxml-libxml-perl libterm-readline-perl-perl libnet-telnet-perl \
+
  libreadonly-perl libterm-readline-perl-perl libnet-pcap-perl libnet-ipv6addr-perl \
  libnet-ip-perl libreadonly-perl libmath-round-perl libappconfig-perl \
+
  libsys-virt-perl libnet-telnet-perl liberror-perl libexception-class-perl \
  libdbi-perl graphviz genisoimage gnome-terminal tree libio-pty-perl libsys-virt-perl \
+
  libxml-dom-perl libdbi-perl libmath-round-perl libio-pty-perl libnet-ip-perl \
  libfile-homedir-perl curl w3m
+
  libxml-checker-perl libxml-parser-perl libfile-homedir-perl  
<!--
+
<!--
 
build-essential  \
 
build-essential  \
 
  libxml2-dev libgnutls-dev \
 
  libxml2-dev libgnutls-dev \
Line 47: Line 47:
 
  virsh list
 
  virsh list
 
  virsh capabilities
 
  virsh capabilities
If you get an error similar to this one:
+
Note: Have a look at [[Vnx-install-trobleshooting|this document]] in case you get an error similar to this one: virsh: /usr/lib/libvirt.so.0: version LIBVIRT_PRIVATE-XXX not found (required by virsh)
virsh: /usr/lib/libvirt.so.0: version LIBVIRT_PRIVATE-XXX not found (required by virsh)
+
 
 +
<li>Only for Ubuntu 12.10: serial lines support seems to be broken in qemu-kvm v1.2 package provided in 12.10, so you need to downgrade to v1.0.1.</li>
 +
apt-get install zlib1g-dev libglib2.0-dev
 +
mkdir src
 +
cd src
 +
wget http://downloads.sourceforge.net/project/kvm/qemu-kvm/1.0.1/qemu-kvm-1.0.1.tar.gz
 +
tar xfvz qemu-kvm-1.0.1.tar.gz
 +
cd qemu-kvm-1.0.1
 +
./configure --prefix=/usr
 +
make
 +
make install
 +
service libvirt-bin restart
 
<!--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
Line 161: Line 172:
 
* Calculate the idle-pc value for your computer following the procedure in http://dynagen.org/tutorial.htm:
 
* Calculate the idle-pc value for your computer following the procedure in http://dynagen.org/tutorial.htm:
 
  dynagen /usr/share/vnx/examples/R3640.net
 
  dynagen /usr/share/vnx/examples/R3640.net
  console R     # type 'no' to exit the config wizard and wait  
+
  console R3640     # type 'no' to exit the config wizard and wait  
 
               # for the router to completely start  
 
               # for the router to completely start  
  idle-pc get R
+
  idlepc get R3640
Once you know the idle-pc value for your system, include it in /etc/vnx.conf file.
+
Once you know the idlepc value for your system, include it in /etc/vnx.conf file.

Latest revision as of 15:47, 3 October 2014

VNX Installation over Ubuntu

This section describes the procedure for manually installing VNX over Ubuntu 12.04, 12.10 and 13.04.

Open a root shell window and follow these steps:

  • Install all packages required (basic development, virtualization, perl libraries and auxiliar packages):
  • sudo apt-get update
    sudo apt-get install qemu-kvm libvirt-bin vlan xterm bridge-utils screen virt-manager \
     virt-viewer uml-utilities graphviz genisoimage gnome-terminal tree \
     curl w3m picocom expect lxc wmctrl \
     libnetaddr-ip-perl libxml-libxml-perl libxml-tidy-perl libappconfig-perl \
     libreadonly-perl libterm-readline-perl-perl libnet-pcap-perl libnet-ipv6addr-perl \
     libsys-virt-perl libnet-telnet-perl liberror-perl libexception-class-perl \
     libxml-dom-perl libdbi-perl libmath-round-perl libio-pty-perl libnet-ip-perl \
     libxml-checker-perl libxml-parser-perl libfile-homedir-perl 
    
  • Tune libvirt configuration to work with VNX. In particular, edit /etc/libvirt/qemu.conf file and set the following parameters:
  • security_driver = "none"
    user = "root"
    group = "root"
    cgroup_device_acl = [
       "/dev/null", "/dev/full", "/dev/zero",
       "/dev/random", "/dev/urandom",
       "/dev/ptmx", "/dev/kvm", "/dev/kqemu",
       "/dev/rtc", "/dev/hpet", "/dev/net/tun",
    ]
    

    and restart libvirtd for the changes to take effect:

    restart libvirt-bin
    
  • Check that libvirt is running correctly, for example, executing:
  • virsh list
    virsh capabilities
    

    Note: Have a look at this document in case you get an error similar to this one: virsh: /usr/lib/libvirt.so.0: version LIBVIRT_PRIVATE-XXX not found (required by virsh)

  • Only for Ubuntu 12.10: serial lines support seems to be broken in qemu-kvm v1.2 package provided in 12.10, so you need to downgrade to v1.0.1.
  • apt-get install zlib1g-dev libglib2.0-dev
    mkdir src
    cd src
    wget http://downloads.sourceforge.net/project/kvm/qemu-kvm/1.0.1/qemu-kvm-1.0.1.tar.gz
    tar xfvz qemu-kvm-1.0.1.tar.gz
    cd qemu-kvm-1.0.1
    ./configure --prefix=/usr
    make
    make install
    service libvirt-bin restart
    
  • Install VNX:
  • mkdir /tmp/vnx-update
    cd /tmp/vnx-update
    rm -rf /tmp/vnx-update/vnx-*
    wget http://vnx.dit.upm.es/vnx/vnx-latest.tgz
    tar xfvz vnx-latest.tgz
    cd vnx-*
    ./install_vnx
    
  • Create the VNX config file (/etc/vnx.conf). You just can move the sample config file:
  • mv /usr/share/vnx/etc/vnx.conf.sample /etc/vnx.conf
    
  • Download root file systems from http://idefix.dit.upm.es/download/vnx/filesystems and install them following these instructions
  • Additional install steps for Dynamips support

    • Install Dynamips and Dynagen:
    apt-get install dynamips dynagen
    
    #!/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
    
    dynagen /usr/share/vnx/examples/R3640.net
    console R3640     # type 'no' to exit the config wizard and wait 
                  # for the router to completely start 
    idlepc get R3640
    
    Once you know the idlepc value for your system, include it in /etc/vnx.conf file.