This page is for keeping track of the setup of the VM that is going to be used for the Tutorial. These instructions are for !VirtualBox 4.08. In order to make the VM more usable, installed the Guest Additions (Devices -> Install Guest Additions). = Installing Omni = To install Omni, just follow the instruction at [http://trac.gpolab.bbn.com/gcf/wiki/QuickStart Omni Quick Start]. In more detail, install the following packages {{{ sudo apt-get install python-m2crypto python-dateutil \ python-pyopenssl libxmlsec1 xmlsec1 \ libxmlsec1-openssl libxmlsec1-dev }}} Download release gcf1.3 from http://www.gpolab.bbn.com/local-sw/ under /usr/local/geni/ and untar it. {{{ tar xvfz gcf-1.3.tar.gz \rm gcf-1.3.tar.gz ln -s gcf-1.3/ gcf }}} Added in the end of the .profile file of the GENI user these lines {{{ # set PATH so it includes geni software if it exists if [ -d "/usr/local/geni/gcf/src" ] ; then PATH="/usr/local/geni/gcf/src:$PATH" fi }}} Also placed files [attachment:gcf.ini] and [attachment:omni.ini], in the home dir of the GENI user. = Installing NOX = Downloaded the VM with Omni installed. Then followed the instructions from [http://noxrepo.org/noxwiki/index.php/NOX_Installation here.] {{{ cd /etc/apt/sources.list.d sudo wget http://openflowswitch.org/downloads/debian/nox.list sudo apt-get update sudo apt-get install nox-dependencies }}} Since nox-dependencies is not a common package, just to keep track of which packages are installed, these are the packages included in nox-dependencies : {{{ > dpkg --info nox-dependencies.deb new debian package, version 2.0. size 788 bytes: control archive= 491 bytes. 511 bytes, 9 lines control 499 bytes, 9 lines control~ Package: nox-dependencies Version: 0.1 Architecture: all Depends: doxygen, doxypy, build-essential, python-dev, autoconf, automake, make, g++, libtool, python-twisted, python-dev, swig, libssl-dev, libboost-dev (>= 1.34.1), libboost-test-dev, libboost-filesystem-dev Suggests: git-core, libsqilte3-dev, python-simplejson Maintainer: KK Yap [yapkke@stanford.edu] Description: This package installs the dependencies needed for NOX to be built from source. There is no actual content in this package. }}} After the dependencies are installed {{{ cd git clone git://noxrepo.org/nox cd nox ./boot.sh cd ../ mkdir nox_build cd nox_build ../nox/configure make -j 5 }}} To verify that the install was successful {{{ ./nox_core -h }}} = Installing sface and raven = Dependencies: {{{ apt-get install python-qt4 python-lxml m2crypto python-dateutil rpm }}} Sface and Raven packages: {{{ echo "deb http://pl-virtual-11.CS.Princeton.EDU/apt lucid main" > /etc/apt/sources.list.d/sfa.list apt-get update apt-get install sfa sfa-client sface ravenlib raven geni_account_setup ravendemo_setup # sface and sfa are installed to site-packages; Ubuntu uses dist-packages echo "/usr/lib/python2.6/site-packages" > /usr/lib/python2.6/dist-packages/site-packages.pth }}} Setting up accounts: {{{ /usr/local/geni/account_setup/createusers.sh /usr/local/geni/account_setup/setpasswords.sh /usr/local/geni/account_setup/copykeys.sh /usr/local/geni/account_setup/configsfi.sh }}} Verify Installation: {{{ # should open sface GUI # should include tabs: MainWindow Config Help Raven sface }}} = Installing Gush = Note: This does not account for installing user keys and certificates into the correct places. {{{ apt-get install keychain mkdir /usr/local/geni/gush cd /usr/local/geni/gush wget http://gush.cs.williams.edu/gush-bin-32bit.tgz tar xzvf gush-bin-32bit.tgz }}} To verify: {{{ ./gush -P 15000 }}} You also have to modify directory.xml and omni_config. = Installing !NetServ = Dependencies: {{{ # for building netserv sudo apt-get install \ build-essential \ automake \ openssl \ libtool \ libnetfilter-queue-dev \ openjdk-6-jdk \ ntp \ libpoco-dev \ libssl-dev \ libxerces-c-dev \ xsdcxx # for tutorial sudo apt-get install \ vim-gtk \ subversion }}} Install !NetServ code: {{{ cd /usr/local/geni svn co svn://saesaksi.cs.columbia.edu/netserv/branches/gec11 netserv sudo ln -s /usr/local/geni/netserv /netserv-root cd /netserv-root }}} Build !NetServ core {{{ cd /netserv-root/core/linux . setenv-i386-ubuntu make cd ../java make }}}