asume following: / /data /data/tftp /data/tftp/grub /data/tftp/pxe tftp on some client: tftp-root unset: tftp grub/grub.0 -> file not found tftp /grub/grub.0 -> file not found tftp data/tftp/grub/grub.0 -> loads grub. tftp /data/tftp/grub/grub.0 -> loads grub. tftp-root=/data/tftp -- this prepends tftp-root to all paths given: tftp grub/grub.0 -> /data/tftp/grub/grub.0 -> loads grub. tftp /grub/grub.0 -> /data/tftp/grub/grub.0 -> loads grub tftp data/tftp/grub/grub.0 -> /data/tftp/data/tftp/grub/grub.0 -> file not found tftp /data/tftp/grub/grub.0 -> /data/tftp/data/tftp/grub/grub.0 -> file not found This way tftp in dnsmasq exposes what directory tftp-files reside. I'd awaited it to act if tftp-root is set as: tftp grub/grub.0 -> grub/grub.0 -> loads grub. tftp /grub/grub.0 -> grub/grub.0 -> loads grub tftp data/tftp/grub/grub.0 -> data/tftp/grub/grub.0 -> file not found tftp /data/tftp/grub/grub.0 -> /data/tftp/grub/grub.0 -> file not found Thus meaning tftp-root acts like chroot making tftp-clients see set tftp-root as root of the filesystem, not as forced path into a filesystem how dnsmasq handles tftp-root makes it difficult to have further software have correct paths to boot operating systems, because dnsmasq tftp handles back full paths which may be never available to nfs or smb based remote boots. On Fri, Feb 7, 2020 at 10:25 PM Simon Kelley