Frequently Asked Questions (FAQ)

Which repository do I have to use to get FAI for bookworm/...?

If you want to deploy Debian bookworm the entry for /etc/apt/sources.list and for /etc/fai/apt/sources.list should contain:

deb bookworm koeln
This is the default setup, which uses the same distribution for the server itself and the nfsroot. But you can also mix distributions versions, for e.g. using a server running wheezy and create a bookworm nfsroot on this server. The distribution you want to deploy on your clients is also independent from those defined here.

Is FAI available for Ubuntu?

Yes, please visit the PPA for Ubuntu FAI webpage for details.

I need a more recent hardware support/kernel version

FAI by default uses the same kernel version as present in Debian. Depending on the time-frame since the last Debian release this kernel might not support the most recent hardware. You should use the backports kernel.

I get strange errors like 'ifclass: not found' during execution

Debian supports /bin/dash as interpreter for /bin/sh. FAI uses bash scripts which aren't supported by dash. If you notice errors like 'ifclass: not found' during execution of FAI make sure to use '#!/bin/bash' as shebang line in your scripts instead of '#!/bin/sh'.

Using two DHCP daemons in the same subnet

If you have two DHCP daemons in the subnet of your FAI infrastructure, and one uses the option allow unknown-clients you are in trouble, because if this daemon responses faster it will give the install client an IP address and the other daemon has no chance to control the clients boot parameters for FAI.

The solution for this problem is to use the 'ignore booting' instruction. So you have a DHCP daemon A which includes the allow unknown-clients option. In the same subnet you would like to run a second DHCP daemon B for the FAI infrastructure which includes deny unknown-clients and contains a list of all the install clients using their MAC address.

Since you know the MAC addresses of the install clients (that should be controlled by B), you can instruct DHCP daemon A to ignore those clients. For each install client you add a line into DHCPd.conf (of DHCP A) like this:

host demohost {hardware ethernet 00:42:23:11:be:af;ignore booting;}

That's it. If demohost does a PXE boot, DHCP A will ignore it, and DHCP B can answer the request.

Where should I report bugreports?

Please report bugs against the according FAI Debian package (fai-client, fai-server,...) using reportbug to If you do not know how to use reportbug please write a mail to the linux-fai mailinglist.

Thu, 20 Jun 2024 23:38:26 +0200