diff --git a/package/dnsmasq/files/dnsmasq.init b/package/dnsmasq/files/dnsmasq.init
index cd44de8592a332aa3b7ad7940da02dea4d35abfb..c96654ef30bd3ebc62fa8706c056fd8e87a72378 100644
--- a/package/dnsmasq/files/dnsmasq.init
+++ b/package/dnsmasq/files/dnsmasq.init
@@ -169,6 +169,27 @@ dhcp_mac_add() {
 	dhcp_option_add "$cfg" "$name"
 }
 
+dhcp_boot_add() {
+	local cfg="$1"
+
+	config_get name "$cfg" name
+	[ -n "$name" ] || return 0
+
+	config_get filename "$cfg" filename
+	[ -n "$filename" ] || return 0
+
+	config_get servername "$cfg" servername
+	[ -n "$servername" ] || return 0
+
+	config_get serveraddress "$cfg" serveraddress
+	[ -n "$serveraddress" ] || return 0
+
+	append args "--dhcp-boot=net:$name,$filename,$servername,$serveraddress"
+
+	dhcp_option_add "$cfg" "$name"
+}
+
+
 dhcp_add() {
 	local cfg="$1"
 	config_get net "$cfg" interface
@@ -239,6 +260,7 @@ start() {
 	args=""
 	config_foreach dnsmasq dnsmasq
 	config_foreach dhcp_host_add host
+	config_foreach dhcp_boot_add boot
 	config_foreach dhcp_mac_add mac
 	config_foreach dhcp_vendorclass_add vendorclass
 	config_foreach dhcp_userclass_add userclass