The package di-netboot-assistant (PTS) provides a tool to simplify the preparation of files for TFTP net booting:
- Downloads and extracts all the files needed and takes care of organizing them.
Prepares a top level menu, which allows one to choose from all installed netboot images.
Supports packaged installer and Debian Live ISO images, PXElinux, grub-efi and secure boot.
- Adds non-free firmware to the installer images easily.
Helps with preseeding the installer in order to set up systems completely automatically.
- Sysadmins, who need to configure network boot services to install machines (completely automatic, if preseeding is used) over the network.
- Developers, who need to install new versions and distributions often.
- Education: The Debian Live system powers diskless machines ready for students' experiments (since version 0.68, buster-backports).
For further information, take a look at the README, README.preseed and the example configuration samples.
The README.installbox shows how to temporarily turn your machine into an 'installbox', ready to netboot and install clients. In addition, some ansible playbooks that might be useful as inspiring examples are available.
The list of supported netboot images contains many Debian releases as well as some derivatives.
Testing and Quick Start
It is easy to test di-netboot-assistant with qemu/kvm and the emulated TFTP server:
apt --no-install-recommends install di-netboot-assistant # '--no-install-recommends' to avoid an extra TFTP server TFTP_ROOT="/var/lib/tftpboot/" mkdir "$TFTP_ROOT" di-netboot-assistant install stable
Then start the VM (BIOS):
TFTP_ROOT="/var/lib/tftpboot/" qemu-system-x86_64 -enable-kvm -m 1024 -boot n -net nic \ -net user,tftp=$TFTP_ROOT,bootfile=/d-i/n-a/pxelinux.0
or with UEFI firmware (apt install ovmf):
TFTP_ROOT="/var/lib/tftpboot/" qemu-system-x86_64 -enable-kvm -m 1024 -boot n -net nic -bios /usr/share/OVMF/OVMF_CODE.fd \ -net user,tftp=$TFTP_ROOT,bootfile=/d-i/n-a/bootnetx64.efi
A proper setup requires some familiarity with DHCP. Install a DHCP server and a TFTP server or use dnsmasq and its builtin TFTP server.
After having your DHCP working, install di-netboot-assistant:
apt install di-netboot-assistant
di-netboot-assistant needs to know the TFTP root directory. If you get the error "TFTP root directory doesn't exists", either create the directory or edit the configuration file /etc/di-netboot-assistant/di-netboot-assistant.conf and adjust the TFTP_ROOT-variable to point to your TFTP server's root directory, for example:
Then, play with the Netboot Installer. You can list the available images:
You can quickly do stuff like preparing Debian "stable" and Ubuntu "xenial" for both i386 and amd64:
di-netboot-assistant install stable xenial --arch=i386,amd64
It does not work? Perhaps you should take another look at the README and especially the README.installbox.
Enjoy and have fun!
- Debian GNU/Linux Installation Guide
Preparing Files for TFTP Net Booting (for i386)
Booting the installer / Booting from network (for i386)
Bugs : di-netboot-assistant in the BTS.
../NetbootMetadata - metadata proposal, for di-netboot-assistant v1.0
Slides from talks related to and about di-netboot-assistant (pick a recent one): https://people.debian.org/~andi/