Hebrew University
Computer Science
DANSS Lab

P2P projects

Everlab

 

 

 

 

 

 

The EverLab Project Documentation - Client Side

Preparing for installation

Allocate two IBM blades on the evergrow cluster.
Requirments: Nodes must have an External IP address, and a DNS name which matches the address (both DNS and reverse DNS) and network connectivity for the Internet
Send the following to EverLab support
  • IP Address
  • Network mask
  • Network address
  • Site name
  • Node name
  • DNS suffix
  • DNS name server 1
  • DNS name server 2
  • PI (Primary inverstiagor) name and contact info
  • Technical contact name and contact info

    Once we got this information we will create a boot CD Image file that can be downloaded here

    Installing an EverLab node

  • Download an ISO image file for your node here
  • Burn the CD ISO image file on a CD.
  • Boot the IBM blade when the CD-ROM is attached to the blade, and the boot CD is on the CD-ROM drive. The node must have Internet connectivity for the setup process.
  • The node will contact the EverLab server (everboot1.cs.huji.ac.il) and will automatically start the installation. A question for confirming the installation should be answered affirmitively. All the information on the blades HDD will be erazed.
  • Once the installation in over, a boot login promopt will appear.
  • On installation errors, contact support

    The EverLab Project Documentation - Server Side

    Installing an EverLab server

  • Install a clean Fedora Core 2.
  • If inside firewall configure proxy:
    a. Add http_proxy=<proxy server> (http://wwwproxy.cs.huji.ac.il:8080) to
    /etc/profile before the export command.
    b. Add to the end of the export command: http_proxy.
  • Install RPMS.
    a. Must: CVS (disk 2).
    b. Helpfull:
    1) telnet-server 2) rsh-server (use: "chkconfig rsh on;service xinetd restart" to activate).
    For example: yum -y install telnet-server
    install chkconfig telnet on
    service xinetd restart
    Add user for telneting.
  • Install the pl_box:
    cvs -d:pserver:anon@cvs.planet-lab.org:/cvs checkout pl_box
  • Configure the config file at pl_box:
    a. Set site name and prefix.
    b. Set machine network configuration (name, ip, etc.).
    c. Set root password both txt and encripted (from /etc/shadow).
    d. Set the rest of the options (rate limit, hardware check, etc.).
  • Run script:
    /root/pl_box/setup_plc.sh

    Overriding the need of floppy

  • Put the cnf file (planet10.cnf). under:,
    /planetlab/bootcd/configurations/<server name dir>/ (everboot1.cs.huji.ac.il)
  • Edit the file: /planetlab/bootcd_v3/configurations/<server name dir>/configuration (everboot1.cs.huji.ac.il) Add to the end of it:
    NODE_CONFIGURATION_FILE=<cnf file> (planet10.cnf).
  • Now you can create the ISO.

    Creating an ISO image

    /planetlab/bootcd_v3/build.sh build <server name dir>
    (everboot1.cs.huji.ac.il)
    The image will be created on: ./build/<server name dir>

    Overriding the CD-ROM drive

    Compiling the PlanetLab kernel

  • cvs -d:pserver:anon@cvs.planet-lab.org:/cvs checkout build
  • make kernel

    Compiling modified kernel

  • cvs -d:pserver:anon@cvs.planet-lab.org:/cvs checkout build
  • cd build/linux-2.6.12
  • prepare a config file and copy it to .config
  • make rpm

    Checking out 2.6.10 stable kernel

  • cvs -d :pserver:anon@cvs.planet-lab.org:/cvs co -r planetlab-3_1-branch linux-2.6

    Replacing CD-ROM kernel

  • Put the kernel under /var/www/html/install-rpms/bootcd/
  • Run yum-arch /var/www/html/install-rpms/bootcd
  • Verify /var/cache/yum/BootCDRepo/ has no contradicting kernel

    Replacing kexec kernel

  • Put the kernel under /var/www/html/install-rpms/planetlab-v3/
  • Run yum-arch /var/www/html/install-rpms/planetlab-v3/
  • Verify /var/cache/yum/BootCDRepo/ has no contradicting kernel

    Compiling kernel + all modules

    The following packages are needed:
  • automake
  • libcap-devel
  • e2fsprogs-devel
  • gcc-c++
  • byacc
  • zlib-devel
  • ncurses-devel
  • bison
  • flex
  • glib-devel
  • curl-devel
  • mysql-devel

    Changing debug ssh keys

  • In the bootmanager check out area, change: source/debug_files/debug_root_ssh_key
  • rebuild/resign bootmanager.

    Changing the kexec kernel root password

    The shadow and passwd files used by nodes are taken from the archive /planetlab/plc_www/boot/alpina-BootstrapRPM.tar.bz2 on installation of a node (First stage of installation after creating the root partition and filesystem is extracting that archive to the root filesystem and it contains, amongst necessary bootstrap binaries and libraries, also some of /etc including passwd, shadow, and group).
    So to change it, extract /planetlab/plc_www/boot/alpina-BootstrapRPM.tar.bz2 to some directory, chroot to that directory, enter "passwd root", and enter a password. Then recreate the archive:
  • # cd /tmp
  • # mkdir bootstrap
  • # cd bootstarp
  • # bzip2 -dc /planetlab/plc_www/boot/alpina-BootstrapRPM.tar.bz2 | tar xvpsf -
  • # chroot .
  • (in chroot) # passwd root
  • (in chroot) # exit
  • # tar cvf - . | bzip2 -c - > /planetlab/plc_www/boot/alpina-BootstrapRPM.tar.bz2
    Note that the setup_plc.sh script by default re-downloads that file when needing to remake the bootmanager step (when /var/pl_boxed/bootmanager does not exist). However I've commented out that line so you can make changes there and they will not be overridden when one reruns setup_plc.sh.
  •  

    Original site design by Pegasus Web Design Resources, modified by David Rabinowitz