fai-chboot - manage the network boot configuration files


fai-chboot [OPTION]... KERNELNAME HOST...
-l[e|d|t|o|g] [PATTERN]
-e HOST...
-d HOST...
-i [OPTION]... HOST...
-I [OPTION]... HOST...
-a [ACTION]... HOST...


This command creates the configuration files for network booting using pxelinux and DHCP.

KERNELNAME is the file name of the kernel that will be booted. This kernel will mount the root filesystem via NFS. You can add additional kernel parameters and define some FAI specific flags. For each host one configuration file is created. The file name of the configuration file is its IP address in upper case hexadecimal or its MAC address with the prefix "01-". HOST can be a host name, an IP or a MAC address or the keyword "default".


-a action

Same as -i but also sets FAI_ACTION.


Set default values for FAI_FLAGS. This is the same as -f verbose,sshd,reboot


Copy an existing config file (called template) to one or more hosts and enable them for network booting. fai-chboot performs these substitutions if you use $IP or $HOST in your template:

$IP : the IP address as dotted decimal

$HOST : the assigned hostname


Use CFDIR as the configuration directory. Default is /etc/fai. You can also set the environment variable FAI_ETC_DIR.


Set the directory for the network boot configuration to DIR. The default value is /srv/tftp/fai/pxelinux.cfg/.


Disable the PXE configuration for the specific HOST. This renames the config file adding the suffix .disable to it, making PXE boot fall back to the default.


Re-enable network booting for HOST. This renames the config file removing the suffix .disable from it, so the next time it uses its own PXE configuration.


Add FAI_FLAG initial. This causes setup-storage to disable preserving partitions. This may erase (therefore option E) data on the disk.

-f fai_flags

Set FAI_FLAGS. The flags must be comma separated.


Set default values for FAI_FLAGS. This is the same as -f verbose,sshd,createvt


Show simple help and version.


Set parameters for booting the FAI install kernel (proper initrd, boot from nfs). This does not set FAI_ACTION


Same as -i but also sets FAI_ACTION=install. So a fully automatic installation will be performed. ATTENTION! This will erase most of the data on the local disks of the install clients.

-k parameters

Set kernel append parameters.


List the configuration for all hosts in short format. If PATTERN is given, list only hosts matching PATTERN. Lists hostname, FAI_ACTION, kernel name and IP address in hex. Use -le, to list only enabled hosts, -ld to list only disabled hosts, -lt to list only templates, -lo to list only hosts that do not match any of the previous categories, and -lg to list the configuration for all hosts, sorted and ordered by groups (enabled, disabled, templates, others). Note that a combination of multiple -l options is not supported and that in listing mode no other action will be performed.


List the configuration for all hosts. Also list the kernel append parameters. If PATTERN is given, list only hosts matching PATTERN.


Do not create configuration but show what would be done. This also enables the verbose flag.


Do localboot via PXE. Do not boot via network card, but use next boot device which is specified in the BIOS. Normally this is the local disk.


Preserve existing config files. The default is to overwrite an existing config file.


Add the pxelinux option IPAPPEND 6 to the config file. This will add the two variables BOOTIF and SYSUUID to the kernel command line, that are also defined as variables inside FAI.



Query the absolute path and filename of the PXE configuration file for a host or a list of hosts.


Use SUFFIX to determine which kernel and initrd to use.


Same as -i but also sets FAI_ACTION=sysinfo.

-u URL

Set FAI_CONFIG_SRC to URL. Setting this variable is mandatory for the operation of FAI. See fai.conf(5) for the format of this variable.


Add URL to kernel and initrd file names. lpxelinux.0 can use FTP and HTTP for getting these files.


Create verbose output.


fai-chboot -l

List the configuration for all hosts. fai-chboot -FSPv -u nfs://faiserver/srv/fai/config atom02 The host atom02 will boot the FAI install kernel but with FAI_ACTION sysinfo.

fai-chboot -l tmpl

All templates are listed.

fai-chboot -IBPv -u nfs://faiserver/srv/fai/config atom02

The host atom02 will be installed. ATTENTION! All data on the local hard disks are lost in most cases, because we want to install a new system. After the installation the host automatically reboots.

fai-chboot -vSP -s2.6.18-4-amd64 faiserver

Booting kernel vmlinuz-2.6.18-4-amd64
append initrd=initrd.img-2.6.18-4-amd64 ip=dhcp

faiserver has in hex 01020304
Writing file /srv/tftp/fai/pxelinux.cfg/01020304 for faiserver

fai-chboot -IFv -u nfs://faiserver/srv/fai/clusterconf node03

node03 will be installed using the configuration space /srv/fai/clusterconf, which is mounted from faiserver via NFS.

fai-chboot memtest86+ atom02

The host atom02 will boot the memory test. Install the package memtest86+ and copy the executable memtest86+.bin to /srv/tftp/fai without the .bin suffix.

fai-chboot -o default

All hosts, that do not have a PXE configuration for their IP-address will do a localboot, i.e. booting from local disk.

fai-chboot -vc lenny64 james007

This command will tell the host james007 to use the template called lenny64. Beforehand, you have to manually create the template and save it to /srv/tftp/fai/pxelinux.cfg/lenny64.tmpl.

fai-chboot -iFPv atom02 atom03 dom kueppers

The hosts atom02, atom03, dom and kueppers will boot the FAI install kernel. FAI_ACTION will not be set unless specified with option -k or -I. You can also use the script class/LAST.var on the install server to set FAI_ACTION.


Currently only PXE boot is supported.


/usr/share/doc/syslinux/pxelinux.doc.gz The pxelinux documentation.

This program is part of FAI (Fully Automatic Installation). See the FAI
manual for more information on how to use fai-chboot. The FAI homepage
is https://fai-project.org.


Thomas Lange <lange@cs.uni-koeln.de>