Setting up tftp-hpa on FreeBSD, 5 urls to read
https://wiki.freebsd.org/PXE%3ATFTPd%20Setup
https://eradman.com/posts/automated-freebsd-install.html
https://www.siberoloji.com/how-to-set-up-a-tftp-server-on-freebsd-operating-system/
https://www.siberoloji.com/how-to-implement-diskless-booting-on-freebsd-operating-system/
https://blog.prag.dev/using-freebsds-sysrc-and-serving-tftp-resources
https://man.freebsd.org/cgi/man.cgi?query=tftpd&sektion=8&format=html tftpd manual page
https://github.com/WillChamness/Dnsmasq-PXE Setup DNSmasq for Ubuntu ; reference
iPXE boot for FreeBSD with an UEFI BIOS
https://www.tunbury.org/2025/05/06/freebsd-uefi/ tftp with freebsd uefi /boot/loader.efi file
root@flf_FBSD_15_STABLE:~ # whereis tftpd
tftpd: /usr/libexec/tftpd /usr/share/man/man8/tftpd.8.gz /usr/src/libexec/tftpd
root@flf_FBSD_15_STABLE:~ # ls -l /usr/libexec/tf*
-r-xr-xr-x 1 root wheel 101552 Mar 17 18:41 /usr/libexec/tftp-proxy
-r-xr-xr-x 1 root wheel 39168 Mar 14 23:58 /usr/libexec/tftpd
root@flf_FBSD_15_STABLE:~ # ls -ld /usr/libexec/tf*
-r-xr-xr-x 1 root wheel 101552 Mar 17 18:41 /usr/libexec/tftp-proxy
-r-xr-xr-x 1 root wheel 39168 Mar 14 23:58 /usr/libexec/tftpd
root@flf_FBSD_15_STABLE:~ # tftpd
sh: tftpd: not found
root@flf_FBSD_15_STABLE:~ # echo $PATH
/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/root/bin
root@flf_FBSD_15_STABLE:~ # PATH=$PATH:/usr/libexec
root@flf_FBSD_15_STABLE:~ # echo $PATH
/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/root/bin:/usr/libexec
root@flf_FBSD_15_STABLE:~ # tftpd --version
tftpd: illegal option -- -
tftpd: illegal option -- v
tftpd: illegal option -- e
tftpd: illegal option -- r
root@flf_FBSD_15_STABLE:~ # tftpd -version
tftpd: illegal option -- v
tftpd: illegal option -- e
tftpd: illegal option -- r
sudo service inetd startsudo service inetd statusroot@flf_FBSD_15_STABLE:~ # sudo service inetd start
Starting inetd.
root@flf_FBSD_15_STABLE:~ # sudo service inetd status
inetd is running as pid 74882.
root@flf_FBSD_15_STABLE:~ #
#search for inetd pid 74882 using greproot@flf_FBSD_15_STABLE:~ # ps aux | grep 74882
root 74882 0.0 0.0 14360 2836 - Is 00:58 0:00.00 /usr/sbin/inetd -wW -C 60
root 75590 0.0 0.0 14176 2676 2 S+ 01:03 0:00.00 grep 74882
root@flf_FBSD_15_STABLE:~ # ls -l /tftpboot
total 0
root@flf_FBSD_15_STABLE:~ # ls -la /tftpboot
total 9
drwxrwxrwx 2 root wheel 2 Mar 20 00:16 .
drwxr-xr-x 21 root wheel 24 Mar 20 00:16 ..
root@flf_FBSD_15_STABLE:~ # echo "This is a test file." > /tftpboot/testfile.txt
root@flf_FBSD_15_STABLE:~ #
root@flf_FBSD_15_STABLE:~ # ls -la /tftpboot
total 10
drwxrwxrwx 2 root wheel 3 Mar 20 01:07 .
drwxr-xr-x 21 root wheel 24 Mar 20 00:16 ..
-rw-r--r-- 1 root wheel 21 Mar 20 01:07 testfile.txt
root@flf_FBSD_15_STABLE:~ #
sudo ipfw add allow udp from any to any 69
root@flf_FBSD_15_STABLE:~ # sudo ipfw add allow udp from any to any 69
ipfw: getsockopt(IP_FW_XADD): Protocol not available
root@flf_FBSD_15_STABLE:~ #