PXE Network booting
PXE, short for "Preboot Execution Environment", is a standard for booting clients using an operating system which is physically stored on some other computer on the network. The information required to boot over the network is typically served to the client by a DHCP server and the actual files are usually transferred using tftp.
There are many software options which can be used to serve PXE clients.
dnsmasq is a really easy way to do it. It is available in all the distributions repositories. Install it with
apt-get install dnsmasq or
dnf install dnsmasq depending on what distribution you are using.
dnsmasq is configured in the file
/etc/dnsmasq.conf which can look like this when DHCP, TFTP and PXE booting is configured:
3specifies the network gateway.
6specifies the DNS servers which should be used.*
tftp-root=are the lines are important for serving PXE boot information.
Ensuring there is a image to boot
You need a special network boot image. Regular ISO images used by GNU/Linux distributions will not work. They typically offer a PXE option for either the installer or a live CD or both. The Debian installation image is available as a PXE capable image. It is named
netboot.tar.gz. To enable it:
mkdir -p /tftpboot cd /tftpboot wget http://ftp.nl.debian.org/debian/dists/buster/main/installer-amd64/current/images/netboot/netboot.tar.gz tar zxpf netboot.tar.gz # rm netboot.tar.gz
Removing the file with
rm netboot.tar.gz is optional. You may need it.