DHCP Options are defined in RFC 2132
--------------------------------------------------------------------------------
DHCP Configuration for NFS Server and Root Path
PXE and NFS DHCP Options
17 = Root Path
66 = TFTP Server Name
67 = Bootfile name
--------------------------------------------------------------------------------
DHCP Options via Example of Packet Capture
Option: (t=55,l=13) Parameter Request List
Option: (55) Parameter Request List
Length: 13
Value: 010306070C0F112B3C4243AFCB
1 = Subnet Mask
3 = Router
6 = Domain Name Server
7 = Log Server
12 = Host Name
15 = Domain Name
17 = Root Path
43 = Vendor-Specific Information
60 = Vendor class identifier
66 = TFTP Server Name
67 = Bootfile name
--------------------------------------------------------------------------------
DHCP Parameter Explanations
next-server 192.168.4.4;
filename "/tftpboot/kernel.diskless";
option root-path "192.168.4.4:/data/misc/diskless";
o The "next-server" directive designates the TFTP server (the default is to use
the same host as the DHCP server). The next-server DHCP option tells the host
which server to retrieve an additional configuration file from. The specific
file retrieved can selected using the filename DHCP option.
o The "filename" directive defines the file that etherboot will load as a kernel.
PXE appears to prefer a relative file name, and it loads pxeboot, not the
kernel (option filename "pxeboot"). The filename DHCP option provides the host
with the location of an additional configuration file. This file is usually
obtained by use of the TFTP protocol from the DHCP server unless directed
otherwise with the next-server DHCP option.
o The "root-path" option defines the path to the root filesystem, in usual NFS
notation.
--------------------------------------------------------------------------------
Bind and DHCP3 Configurations
#/etc/dhcp3/dhcpd.conf
subnet 192.168.0.0 netmask 255.255.255.0 {
range ...;
option domain-name "local.lan";
}
host cobalt {
hardware ethernet 00:00:00:00:00:00;
fixed-address 192.168.0.3;
option routers 192.168.0.1;
next-server 192.168.0.2;
option root-path "/nfsroot-x86";
option host-name "cobalt";
}
# complex DHCP using vendor class-id
if substring (option vendor-class-identifier, 0, 9) = "PXEClient" {
filename "/pxelinux.0";
}
else if substring (option vendor-class-identifier, 0, 9) = "Etherboot" {
filename "/kernels/hugesmp.s/bzImage";
}