TFTP in Debian

Trivial File Transfer Protocol (TFTP) is a simple lockstep File Transfer Protocol which allows a client to get a file from or put a file onto a remote host. One of its primary uses is in the early stages of nodes booting from a local area network. TFTP has been used for this application because it is very simple to implement. (taken from Wikipedia)

TFTP Servers

Debian provides several TFTP servers (see packages.d.o for a current listing):

H. Peter Anvin's TFTP server

My recommendation is to use H. Peter Anvin's TFTP server. It worked reliably for me on two different server architectures (x86, ARM) serving different client architectures (e.g. Alpha, ARM, Itanium, MIPS, PA-RISC, PowerPC, POWER, SPARC, x86, etc.) and client operating systems (NetBSD, OpenBSD, Debian GNU/Linux, Gentoo Linux). Up until now I didn't experience a problem during network boot that couldn't be fixed with a specific configuration of this server.

Exemplary configuration

# /etc/default/tftpd-hpa

TFTP_OPTIONS="-4 --secure -vvv"

This configuration only uses IPv4 addressing, changes its root directory to /srv/tftp on startup and logs TFTP operations to syslog. Please see in.tftpd(8) for more details about the used options.