My network gets its addresses from dnsmasq running on the Kamikaze 8.09 release of OpenWRT. This operating system uses an unusual system for configuration, and getting dnsmasq set up for network booting took a little bit of effort. So I’m documenting it here, for either anybody else who’s stuck on it, or for when I inevitably forget.
/etc/config/dhcp, and in the
config dnsmasq section add a line like this. The format is as per the dnsmasq man page:
option dhcp_boot pxelinux.0,tftp_server_hostname,tftp_server_ipaddr
The init script does all the parsing of the dhcp config file, converting things in there to cmdline arguments to dnsmasq. So you need to edit
/etc/init.d/dnsmasq, and in the
dnsmasq() function add this line:
append_parm "$cfg" "dhcp_boot" "--dhcp-boot"
The function already has a bunch of append_parm lines. Just search for those and add your new line immediately under them.
Restart dnsmasq and you’re good to go.