It is still nontrivial to get DHCP, TFTP, PXE and NFS root working to boot you a Debian on a diskless computer. The main steps on the (here, combined) DHCP, TFTP and NFS server are listed below.
# mkdir -p /pxe/testing /pxe/tftp/pxelinux.cfg
# cd /pxe
# debootstrap testing /mnt/b100/d0/pxe/testing http://ftp.us.debian.org/debian
# export LANG=C
# chroot testing apt-get install linux-image-4.9.0-3-amd64 initramfs-tools lsscsi less netbase net-tools ifupdown
# chroot testing apt-get update
# chroot testing apt-get upgrade
# vi testing/etc/hostname testing/etc/network/interfaces testing/etc/fstab
# vi testing/etc/initramfs-tools/modules testing/etc/initramfs-tools/initramfs.conf
# chroot testing update-initramfs -u -k all
# chroot testing passwd root
# cp testing/boot/vmlinuz* /pxe/tftp/
# vi /pxe/tftp/pxelinux.cfg/default
# vi /etc/exports
# vi /etc/dnsmasq.conf
Clean shutdown and reboot do not work because systemd cannot figure out NFS rootfs needs to keep mounted.