Differences

This shows you the differences between two versions of the page.

Link to this comparison view

fai [2011/10/13 23:55] (current)
Line 1: Line 1:
 +====== FAI @ grml ======
 +
 +===== Install packages =====
 +
 +<code>
 +aptitude install fai-server fai-doc
 +</code>
 +
 +===== Adjust FAI server =====
 +
 +Adjust configuration:
 +
 +<code>
 +/etc/fai/fai.conf              -> adjust FAI_CONFIGDIR
 +/etc/fai/make-fai-nfsroot.conf -> adjust NFSROOT and FAI_DEBOOTSTRAP
 +/etc/fai/apt/sources.list      -> adjust mirrors
 +
 +mkdir -p /grml/fai/config
 +cp -a /usr/share/doc/fai-doc/examples/simple/* /grml/fai/config/
 +</code>
 +
 +Invoke fai dirinstall:
 +
 +<code>
 +mount -o remount,suid,dev,rw /dev/shm
 +fai -v -cFAIBASE -u grml dirinstall /dev/shm/fai
 +chroot /dev/shm/fai bash
 +</code>
 +
 +===== Adjust for GRML =====
 +
 +Package selection example:
 +
 +<code>
 +cd /grml/fai/config/package_config
 +cat > GRML << EOF
 +PACKAGES aptitude
 +
 +vim-full
 +EOF
 +</code>
 +
 +Adjust stuff like TIMEZONE=Europe/Vienna, ROOTPW='x',... for GRML-class:
 +
 +<code>
 +cd /grml/fai/config/class
 +cp FAIBASE.var GRML.var
 +vim GRML.var
 +</code>
 +
 +Execute scripts during fai dir-install:
 +
 +<code>
 +cd /grml/fai/config/scripts/
 +mkdir GRML
 +cat > 10-helloworld << EOF
 +#!/bin/sh
 +echo Hello World
 +EOF
 +chmod 755 10-helloworld
 +</code>
 +
 +Don't forget to invoke fai with GRML class:
 +
 +<code>
 +fai -v -cFAIBASE,GRML -u grml dirinstall /dev/shm/fai
 +</code>
 +
 +Check log files of GRML:
 +
 +<code>
 +root@grml ~log/fai/dirinstall/grml # l
 +total 204
 +-rw-r--r-- 1 root root   235 2007-08-26 11:20 cfagent.log
 +-rw-r--r-- 1 root root  1255 2007-08-26 11:19 debconf.log
 +-rw-r--r-- 1 root root 40393 2007-08-26 11:19 debconf.new
 +-rw-r--r-- 1 root root 40393 2007-08-26 11:19 debconf.old
 +-rw-r--r-- 1 root root 54444 2007-08-26 11:20 fai.log
 +-rw-r--r-- 1 root root    33 2007-08-26 11:20 fcopy.log
 +-rw-r--r-- 1 root root   971 2007-08-26 11:20 shell.log
 +-rw-r--r-- 1 root root 36375 2007-08-26 11:20 software.log
 +-rw-r--r-- 1 root root   156 2007-08-26 11:20 status.log
 +-rw-r--r-- 1 root root  4390 2007-08-26 11:17 variables.log
 +</code>
 +
 +
 +===== Tips =====
 +
 +[[http://fai-project.org/download/mkdebmirror|mkdebmirror]]: create local Debian mirror
 +
 +Important variables for scripts:
 +
 +<code>
 +$ROOTCMD => execute command inside target chroot
 +$target  => points to target chroot
 +</code>
 +
 +Important commands for scripts:
 +
 +<code>
 +fcopy    => copy files to target chroot
 +ainsl    => append if no such line (in file)
 +</code>
 +
 +Adjust 'PACKAGES $COMMAND', check possible values via:
 +
 +<code>
 +install_packages -H
 +</code>
 +
 +Create tarball for basic chroot:
 +
 +<code>
 +mkdir /dev/shm/deboot
 +debootstrap etch /dev/shm/deboot http://ftp.de.debian.org/debian
 +cd /dev/shm/deboot && tar zcf base.tgz ./
 +
 +grep NFS /etc/fai/make-fai-nfsroot.conf
 +NFSROOT=/grml/fai/nfsroot
 +
 +mkdir -p /grml/fai/nfsroot/live/filesystem.dir/var/tmp
 +mv /dev/shm/deboot/base.tgz /grml/fai/nfsroot/live/filesystem.dir/var/tmp/
 +
 +Now you should see
 +
 +Extracting /grml/fai/nfsroot/live/filesystem.dir/var/tmp/base.tgz
 +
 +when invoking:
 +
 +fai -v -cFAIBASE,GRML -u grml dirinstall /dev/shm/fai
 +</code>
 +
 +Build NFS-root (uses NFSROOT from /etc/fai/make-fai-nfsroot.conf) and bootable CD-ISO:
 +
 +<code>
 +make-fai-nfsroot -v
 +mkdir /grml/tmp_mirror
 +fai-mirror -c DEFAULT,I386,FAIBASE,GRML -v /grml/tmp_mirror
 +fai-cd -m /grml/tmp_mirror /grml/fai.iso
 +</code>
  
 
fai.txt · Last modified: 2011/10/13 23:55 (external edit)
 
Recent changes RSS feed Creative Commons License Valid XHTML 1.0 Valid CSS Grml homepage Driven by DokuWiki