====== FAI @ grml ======
===== Install packages =====
aptitude install fai-server fai-doc
===== Adjust FAI server =====
Adjust configuration:
/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/
Invoke fai dirinstall:
mount -o remount,suid,dev,rw /dev/shm
fai -v -cFAIBASE -u grml dirinstall /dev/shm/fai
chroot /dev/shm/fai bash
===== Adjust for GRML =====
Package selection example:
cd /grml/fai/config/package_config
cat > GRML << EOF
PACKAGES aptitude
vim-full
EOF
Adjust stuff like TIMEZONE=Europe/Vienna, ROOTPW='x',... for GRML-class:
cd /grml/fai/config/class
cp FAIBASE.var GRML.var
vim GRML.var
Execute scripts during fai dir-install:
cd /grml/fai/config/scripts/
mkdir GRML
cat > 10-helloworld << EOF
#!/bin/sh
echo Hello World
EOF
chmod 755 10-helloworld
Don't forget to invoke fai with GRML class:
fai -v -cFAIBASE,GRML -u grml dirinstall /dev/shm/fai
Check log files of GRML:
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
===== Tips =====
[[http://fai-project.org/download/mkdebmirror|mkdebmirror]]: create local Debian mirror
Important variables for scripts:
$ROOTCMD => execute command inside target chroot
$target => points to target chroot
Important commands for scripts:
fcopy => copy files to target chroot
ainsl => append if no such line (in file)
Adjust 'PACKAGES $COMMAND', check possible values via:
install_packages -H
Create tarball for basic chroot:
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
Build NFS-root (uses NFSROOT from /etc/fai/make-fai-nfsroot.conf) and bootable CD-ISO:
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