How to configure ISC dhcpd for gPXE

Defining the gPXE-specific options

Add the following block to the top of your /etc/dhcpd.conf file:

  # gPXE-specific encapsulated options
  #
  option space gpxe;
  option gpxe-encap-opts code 175 = encapsulate gpxe;
  option gpxe.priority code 1 = signed integer 8;
  option gpxe.keep-san code 8 = unsigned integer 8;
  option gpxe.no-pxedhcp code 176 = unsigned integer 8;
  option gpxe.bus-id code 177 = string;
  option gpxe.bios-drive code 189 = unsigned integer 8;
  option gpxe.username code 190 = string;
  option gpxe.password code 191 = string;
  option gpxe.reverse-username code 192 = string;
  option gpxe.reverse-password code 193 = string;
  option gpxe.version code 235 = string;
  
  # Other options that may be useful
  #
  option iscsi-initiator-iqn code 203 = string;

Using the gPXE-specific options

A network card

The gPXE-specific options can be used in the same way as any other DHCP options. For example:

  host koala {
     fixed-address 10.0.0.12;
     hardware ethernet 00:01:80:34:5e:e4;
     # Do not wait for a ProxyDHCP reply
     option gpxe.no-pxedhcp 1;
  }