I have a FreeBSD server on which I would like to run a TFTP server (for PXE). My daemon of choice is tftp-hpa and I have it configured to serve from /tftpboot properly. It works unless I mount /tftpboot via NFS. Here is some more information...

  • sockstat -4l confirms in.tftpd is running on *:69 (which is correct)
  • telnet obviously doesn't work (UDP) but when I try to grab a file that exists, I get a timeout.
  • There's no loot in /var/log/messages
  • When I request a file that does not exist, I get the proper error

Any ideas?

  • I do the same thing at work, with tftpd-hpa, and it works fine. Albeit on linux, not freebsd. Dec 28 '11 at 23:19
  • Try adding -v to the tftp server's launch arguments. This may give you a bit more information to debug this.
    – devicenull
    Dec 29 '11 at 1:24
  • @devicenull, that led me to believe it was a problem outside of the TFTP server. Verbose logging showed all requests properly (including retries) but gave no evidence of a response. Dec 29 '11 at 19:46

If your NFS mount is exported read-only (regardless of whether it is mounted rw or ro), this seems to cause tftpd-hpa to exhibit this behavior. While I’ve no idea why, exporting rw resolves it.


I did not end up resolving this. I opted to serve TFTP from the file server (which exports /tftpboot). In addition to actually working, it's a lot faster. If anyone wants help debugging this issue in the future, feel free to contact me.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.