Skip navigation.
Home
A virtual network infrastructure
PlanetLab logo
Powered by PlanetLab

Building the PL-VINI Tools from Source

The UML file system image distributed as part of PL-VINI can also be configured as a development environment for XORP, Quagga, and Click.

  1. Download and unpack the PL-VINI UML kernel and file system image.
  2. Run UML using this file system image and with UML connected to the network. Exactly how you invoke UML depends on your method of connecting it to the network, but it will probably look something like:
    # ./vmlinux ubd0=FedoraCore5-x86-vini-root_fs eth0=tuntap,tap0,,192.168.0.1 mem=512M 
    

    Be sure to assign enough memory to UML (the mem= option) since yum is a memory hog.

  3. Once UML boots up, login as root (no password), install the cvs package, and then checkout the PL-VINI build scripts:
    [root@uml ~]# yum -y install cvs
    [root@uml ~]# export CVS_RSH=ssh
    [root@uml ~]# cvs -d XXX-visp@cvs.cs.princeton.edu:/cvs co visp/build
    

    Replace "XXX" with your CVS login above. Enter your CVS password when prompted.

  4. Run a script that downloads the packages necessary to build all the PL-VINI tools:
    [root@uml ~]# cd visp/build
    [root@uml ~]# ./setup-dev.sh
    
  5. The Makefile contains targets for building the various tools. Choose among:

    make xorp
    Builds XORP and installs it in /usr/local/xorp/
    make quagga
    Builds Quagga and installs it in /usr/local/quagga/
    make click
    Builds the userlevel Click binary (./click/userlevel/click)
    make uml_utilities
    Builds the uml_utilities RPM and leaves it in /usr/src/redhat/RPMS/i386/

    Note that building XORP or Quagga installs a new version inside the UML file system image.

  6. If you have built the Click binary or the uml_utilities RPM, you'll need to copy it out of UML to distribute it to the VINI nodes in your experiment (i.e., using make sync). If you built XORP or Quagga, your experiment can simply run using your modified UML file system image instead of the standard one. Just shutdown UML and copy the image FedoraCore5-x86-vini-root_fs to your experiment nodes, overwriting the file of the same name in directory ~/uml/.