fai-chboot(8)

NAME
fai-chboot - manage the network boot configuration files

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

DESCRIPTION
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".

OPTIONS

-a action
    Same as -i but also sets FAI_ACTION.

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

-c  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

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

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

-d  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.

-e  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.

-E  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.

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

-h  Show simple help and version.

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

-I  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.

-l  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.

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

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

-o  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.

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

-P  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. Example:
    BOOTIF=01-08-00-27-12-34-56
    SYSUUID=00234567-1111-2222-3333-123456789000

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

-s PATTERN
    Match PATTERN to determine which kernel and initrd to use. Useful if multiple kernel versions are available.

-S  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.

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

-v  Create verbose output.

EXAMPLES

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 -s6.1 atom04
    Booting kernel vmlinuz-6.1.0-22-amd64
     append initrd=initrd.img-6.1.0-22-amd64 ip=dhcp atom04 has 1.2.3.4 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.

fai-chboot -IFv -U http://faiserver/fai -u nfs://faiserver/srv/fai/config demohost
    The host demohost will receive the kernel and initrd via the HTTP (which is much faster than using tftp). On the faiserver you have to run a web server and create a symlink using:
       $ ln -s /srv/tftp/fai /var/www/html/fai

NOTES
Currently only PXE boot is supported but also with UEFI.

SEE ALSO
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.

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