== Overview == Since users is the file server, it is important that we install and reboot it first. We can then proceed with the boss installation, since part of the boss installation involved mounting directories exported during users setup. == Make sure your network is working first == All network traffic between boss and users goes by default over their private networks. It is important that your boss and users images are able to ping each other through router. == Build Process == The original installation documentation is here. I strongly recommend reading through it in order to understand where the DETER install process is evolving from: https://users.emulab.net/trac/emulab/wiki/InstallRoot == Building the testbed software == Create a build user of your choice on boss and users. If you are unfamiliar with FreeBSD, the process for creating users is laid out in the [http://www.freebsd.org/doc/handbook/ FreeBSD handbook]. Make sure the user is in the group 'wheel' so sudo can be used. Login as this user and clone the testbed repository: {{{ su -l git clone tardis.deterlab.net:/var/local/git/testbed }}} Create the object tree directory. {{{ mkdir ~/obj }}} Now go into the ~/obj directory. {{{ cd ~/obj ../testbed/configure --with-TBDEFS=/home/jjh/testbed/defs- }}} This will create the object tree for the testbed. The install process is handled by two scripts. One is boss-install and the other is users-install, for boss and users. {{{ cd ~/obj/install sudo perl ./[boss|users]-install }}} If the install process complains about an outdated metapackage, please refer to the next section. == Updating the DETER meta packages == Since I have generated these images, I have added a few more packages to the meta package for the deter install and bumped the revision. Once you create a bootstrap user and have the repository cloned onto the image, updating should be painless: {{{ cd testbed/install/ports sudo make install cd /usr/ports/misc/instant-deter sudo make deinstall sudo make reinstall }}} == Updating the codebase == In order to update the codebase, running the install script is not necessary. {{{ cd ~/testbed git pull cd ~/obj ../testbed/configure --with-TBDEFS=/home/jjh/testbed/defs- gmake gmake [boss|users]-install }}}