fai-chboot(8)

๐Ÿ“ฆ
version 6.6ubuntu1 ยท 3 versions
, in debian trixie, ubuntu resolute, ubuntu stonking

๐Ÿ’… fai-chboot(8) โ€” the manual page, but make it slay โœจ

okay bestie, so this is fai-chboot from the System Manager's Manual โ€” it lives in section 8 of the manual, which is the "system administration commands" section, iykyk ๐ŸŽ€


๐ŸŒธ 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...

like, pick a vibe, pick a form, go off ๐Ÿ’ซ


๐ŸŒˆ DESCRIPTION ๐ŸŒˆ

This command creates the configuration files for network booting using pxelinux and DHCP. no cap, that's literally its whole job and it eats ๐Ÿ’…

KERNELNAME is the file name of the kernel that will be booted. This kernel will mount the root filesystem via NFS. You can add extra kernel parameters and define some FAI-specific flags. For each host, one configuration file gets 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. periodt ๐Ÿซถ


โœจ OPTIONS โœจ

  • -a action โ€” Same as -i but also sets FAI_ACTION. two things at once, main character energy ๐Ÿ‘‘
  • -B โ€” Set default values for FAI_FLAGS. This is the same as -f verbose,sshd,reboot ๐ŸŽ€
  • -c โ€” Copy an existing config file (called a 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

it's giving mad-libs but for boot configs, obsessed ๐Ÿฆ‹

  • -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. the glow-up arc ๐Ÿงš
  • -E โ€” Add FAI_FLAG initial. This causes setup-storage to disable preserving partitions. This may erase (therefore option E) data on the disk.
โš ๏ธ bestie this one can literally delete your data. "E" is for Erase. you have been warned ๐Ÿ˜ญ
  • -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. like, the whole disk. gone. fr fr ๐Ÿ’€
  • -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. one -l at a time, bestie, we don't do chaos (ok we do, but not here) ๐Ÿ’…
  • -L โ€” List the configuration for all hosts. Also list the kernel append parameters. If PATTERN is given, list only hosts matching PATTERN. the โœจdeluxeโœจ listing ๐Ÿ”ฅ
  • -n โ€” Do not create configuration but show what would be done. This also enables the verbose flag. window shopping ๐Ÿ›๏ธ
  • -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

look at those beautiful hex strings ๐Ÿ˜Œ๐Ÿฆ‹

  • -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. no URL, no party ๐ŸŽ‰
  • -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. tell me everything, I want the tea โ˜•

๐ŸŽ€ 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. rip to that disk, but congrats to the new install ๐Ÿ’€โžก๏ธ๐Ÿ‘‘
  • 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

๐Ÿงฎ the hex math is mathing

  • 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. yes, manually, bestie, do your homework ๐Ÿ“

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

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

speedrun strats ๐Ÿƒโ™€๏ธ๐Ÿ’จ


๐Ÿ’œ NOTES ๐Ÿ’œ

Currently only PXE boot is supported but also with UEFI. we contain multitudes ๐ŸŒˆ


โญ SEE ALSO โญ

/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. ๐ŸŒ


๐Ÿ‘‘ AUTHOR ๐Ÿ‘‘

Thomas Lange <lange@cs.uni-koeln.de> ๐Ÿ’–


and that's the whole page, bestie!! ๐Ÿ’… this lil' masterpiece is from FAI 6, dated March 2025 โ€” so if you're reading this in a group chat screenshot, tell them it's the fai-chboot(8) page and it ate. no crumbs. ๐ŸŽ€โœจ๐Ÿฆ‹๐Ÿ’–

๐Ÿ“ฆ where this page comes from