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)
Debian provides several TFTP servers (see packages.d.o for a current listing):
atftpd : Advanced TFTP server
tftpd-hpa : H. Peter Anvin's TFTP server
libnet-tftpd-perl : Perl extension for Trivial File Transfer Protocol Server
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).
# /etc/default/tftpd-hpa TFTP_USERNAME="tftp" TFTP_DIRECTORY="/srv/tftp" TFTP_ADDRESS="0.0.0.0:69" 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.