Category:fai
FAI is short for "Fully Automatic Installation".
Installation
List of important Files
- /etc/fai/make-fai-nfsroot.conf add location of the Image that is used creatung a new vmlinuz-install image
Compile an installation kernel for the clients
It's possible to use a kernel configuration located
in
/usr/share/doc/fai-kernels/ for the new kernel.
zcat /usr/share/doc/fai-kernels/config-2.6.14.gz > .config
If you configure a kernel yourself, take care theat the following options are fix included:
- IP: kernel level autoconfigurationt
* IP: DHCP support
* IP: BOOTP support
* IP: RARP support
- NFS file system support
- Provide NFSv3 client support
- Provide client support for the NFSv3 ACL protocol extension
- Allow direct I/O on NFS files
* Root file system on NFS
compile your kernel
- make menuconfig to configure your new fai netinstall kernel ( Netboot )
- then make-kpkg --rootcmd fakeroot --append-to-version -fai-install --revision 1 kernel-image or something similar to make a Debian package, possibly do make-kpkg clean before
- move that package to /usr/lib/fai/kernel
- Then edit /etc/fai/make-fai-nfsroot.conf to the name of the created kernelpackage:
KERNELPACKAGE=/usr/lib/fai/kernel/kernel-image-2.6.12-fai-install_1_i386.deb
- do make-fai-nfsroot or fai-setup to debootstrap the chroot.
- Last step: Move the image from /srv/tftp/fai/vmlinuz-install to the Tftp boot directory, rename it, modify the pxelinux.d files. Reboot the node.
Install a Node
To install a Node type
fai-installboot nodename on the fai-server and reboot the node.
To view current node-starup-configuration type
fai-chboot -l
After the installation the node's config returns to localboot. You can also manually reset the configuration by
fai-chboot -o nodename.
We have different scripts for preparing a local boot, a fai installation and a boot of a dos-image.
The scripts are stored on the fai server in
/srv/loki/bin/ :
- dosboot.sh ip-address for pxe boot into a dos environment
- faiboot.sh ip-address start the fai installation
- localboot.sh ip-address perform the local boot
Configuration
The whole configuration space is located in
/srv/fai/config/ and is mounted to
/fai during the installation.
After the kernel has booted
/usr/sbin/fai (mounted from
/srv/fai/nfsroot/ via
NFS) is executed.
Paritioning
disk_config/
Setting up the bios
bios
FAI really fully automatically
- add your node IPs and HOST names in /etc/hosts
- fai-installboot THE_NODE this adds the 'reboot' FAI_FLAG to pxelinux.cfg config file, what means reboot after install.
One has to take care that
Now there are two possibilities
via rsh or ssh
We did it via rsh. The client communicates with the server and tells him,
that after a reboot the system on the clientside harddrive comes up.
Add a script in
fai_path/config/scripts/
your_class/:
#!/bin/bash
fai_host=`echo $FAI_CONFIG_SRC| cut -d "/" -f 3`
rsh $fai_host "fai-chboot -o $IPADDR"
if($inp =~ "TASKEND install 0") {
my @input = split(/\s+/, $inp);
my $ip = $input[0];
system("fai-chboot -o $ip");
print "Setting $ip to localboot\n";
}
to the
big_loop() function of
faimond , gently found in
/usr/sbin
Start the modified faimond script.
faimond
ATTENTION: did you enable
TCP connections incoming on port
4711 ?! If no, do not expect faimond to work!!!
Installed Distributions
See Also
Links