FAI_CONFIG   =     owen:/usr/local/share/fai  (a.k.a. owen:/fai)
FAI_NFS_ROOT =     owen:/usr/lib/fai/nfsroot/sarge/
FAI MIRROR   =     owen:/mirror/
            debian_misc/      the location for stuff built in house
            sarge/            The Debian sarge distribution
            woody/            The soon to be antiquated woody distribution

Q. How do I add a system to FAI?

A1. Add to dhcp, $FAI_CONFIG/class/01alias and owen:/etc/exports

  • !Add host to dhcp. e.g.:
      host dromio { hardware ethernet 00:0A:5E:3E:F6:16; fixed-address 132.206.178.51; }
  • !Add host to $FAI_CONFIG/class/01alias (catnc = grep -v “^#” $file)
       case -//-
          romeo | scarus | brutus | $NEWHOST )
            echo LOUISLAB
            echo WORKSTATION
            catnc workstation
            catnc linux_bic wb221-mini ;;
        esac -//-
  • !Add “$NEWHOST install” to class/LAST.var list of actions (this file can override the boot are FAI_ACTION=sysinfo).
  • !Add to owen:/etc/exports (if not in @linuxboxen or @ace). NOTE: all 3 dirs must be mountable.

A2. All of the following files must know about the new machine

  • /etc/dhcpd.conf
        requires MAC/IP entry in group
  • /etc/exports
        requires mounting both config and nfsroot
  • $FAI_ROOT/config/class/01alias
        host should be placed in linux_bic_destroy first and then placed in linux_bic
  • $FAI_ROOT/config/class/LAST.var
        this is the setting to override user installation

Note: After installing a new system you must copy the ssh keys into the hostname directory:

WHERE="root@$FAI_HOST:/$FAI_ROOT/"
   scp /etc/ssh/ssh_host_dsa_key       $WHERE/files/etc/ssh/ssh_host_dsa_key/$HOSTNAME
   scp /etc/ssh/ssh_host_dsa_key.pub   $WHERE/files/etc/ssh/ssh_host_dsa_key.pub/$HOSTNAME
   scp /etc/ssh/ssh_host_rsa_key       $WHERE/files/etc/ssh/ssh_host_rsa_key/$HOSTNAME
   scp /etc/ssh/ssh_host_rsa_key.pub   $WHERE/files/etc/ssh/ssh_host_rsa_key.pub/$HOSTNAME

Q. Where are the installation logs?

A.

  • During installation /tmp/fai (rcS.log is what is display at install time)
  • After installation the logs are located at owen:/home/fai/$NEWHOST/ where ./last/ contains a link to the most recent installation
   rcS.log   = generally most useful.  Overview of what has happened
   error.log = sometimes helpful displays STDERR
   shell.log = typically helpful displays any output created by scripts

   Note: ignore such errors as the following, they are all things that shouldn’t work ;)
Rename for 84CEB233 failed.No such file or directory
rpcinfo: can't contact portmapper: RPC: Remote system error - /etc/mail/sendmail.cf: line 0: cannot open: No such file or directory
Can't send mail: sendmail process failed with error code 72

Q. Why are some files named `hostname -s and others named WORKSTATION or ACE?

A. Files with a name of a host will only affect the system with that name, e.g: a file named node0 will only effect node0

LINUX_BIC:
	  is now the elementary class that should be present on all systems (WORKSTATION, ACE or SERVER is also required for a system to run)
SERVER, FAI_SERVER:
  have been reserved as classes for installing servers
WORKSTATION:
  has been reserver for any system being installed as a workstation
       ACE:
  has been reserved for Jason’s (Alan’s) cluster node0-node9
       MINC:
  has been reserved as a class for all of the mni soft
       NVIDIA, BRUCELAB and LOUISLAB:
  not yet fully implemented are self-explanatory

Q. How does the system choose which class to use if there are more then one?

A.

  • In $FAI_CONFIG/files the class with highest precedence (a.k.a. the last argument echoed)
  • In the rest of the $FAI_CONFIG directories all files name listed in the ‘fai class list’

Q. What if I want to add something to the installation?

A1. If it is already available in the mirror (apt-cache search $PACKAGE), add the package name to the package_config/$CLASS (e.g., package_config/ACE will add package only the the Jason’s cluster)

A2. If you have created a new package

  1. Copy the package to the $FAI_MIRROR/debian_misc/$DIR where $DIR is the best suited location in the mirror
  2. Update mirror: cd /mirror/debian_misc/ ; ./bin/update_extras
  3. Update any host previously installed systems `apt-get update ; apt-get install $PACKAGE`
  4. See A1 for how to add to default installation

A3. If you want to update the mirror (this will effect all systems; run `apt-get update on all), update the sarge mirror cd /mirror/sarge ; ./bin/mkdebmirror


Q. How do I update a boot floppy or the nfs mirror?

A1. floppy: $FAI_MIRROR/debian_misc/NONDEB/bic-bootfloppy.iso is a prebuilt working floppy no need to change but if you do /usr/sbin/make-fai-bootfloppy

A2. NFS Root: /fai/files/usr/sbin/make-fai-nfsroot/FAI_SERVER (the default is /usr/sbin/make-fai-nfsroot but there are many things not done in this script)


See also: