Skip to content. | Skip to navigation

Personal tools


You are here: Home / Wiki / Setupelabinelab


These are the beginnings of instructions on how to enable the Emulab-in-Emulab facility in an already functioning Emulab-derived testbed. These are based on the many helpful comments of Keith Sklower who has been the unanticipated, yet willing guinea pig. Thanks Keith!

There is no real structure here yet, just a list of things to do to avoid excessive pain. Setting up a so-called "inner-elab" can take 10 minutes or more, and having to sit through 9.5 of those minutes only to be foiled by a missing file, is frustrating.

  1. Install an Emulab source tarball. This is needed to setup the boss, ops and fs nodes. The boss-side of the elabinelab setup expects this to be in the src subdirectory of your installed Emulab tree (typically /usr/testbed). There is a GNUmakefile target to do this. In your boss install tree do:
    gmake elabinelab
    This will tar up the source directory associated with your running boss node. Presumably this is the stable source that you want to use in inner-elabs.
  1. Install a tarball of the MFSes used for node discovery, disk loading, and general admin. The boss-side expects this to be in /usr/testbed/www/downloads/tftpboot-elabinelab.tar.gz. You can use the "generic" tftpboot tarball you downloaded from Emulab:

    Note that there is a tftpboot-elabinelab.tar.gz file in that directory as well. While you may be sorely tempted to download and use that..don't. This is the tarball for OUR elabinelab setup and may not be compatible with your setup.

    You may want to localize the contents of your MFSes. See update-mfs.txt for details.
  1. Install tarballs for the standard FreeBSD packages. These are the packages that contain third-party apps that Emulab uses (e.g., apache). Again, use the tarball you downloaded from Emulab in setup-ops.txt ( and put it in your downloads directory.
  1. Install the libntfs tarball. If you are enabling windows support, the imagezip makefile will want to download the NTFS library. It first tries fetching this from the outer boss node and failing that, from the mothership ( If your inner boss cannot talk to the outside world, then you will need to make sure the file is on your boss node. Grab and put it in your downloads directory.