DHCP-settings for use with gPXE

December 2009


Table of Contents

The Windows 2008 Server case
The ISC DHCPD Case

To boot and install PC's through PXE, one can use gPXE. I created a demo showing this. To use that demo, one needs a DHCP server. Installing a DHCP server is left as an exercise to the reader, but the gPXE-specific configuration is described here.

In order to enable the Windows admin to deploy Linux boxes without any Linux knowledge whatsoever, I installed MS Windows 2008 Server, turned on the DHCP service, and configured it to use the Gryplet demo:

  1. Getting to the DHCP console

    In the Control Panel, click on the Administrative Tools icon. This will open the DHCP Console. (If it is really called that. It's just the DHCP service settings dialog.)

  2. Adding a DHCP User Class

    Expand the tree in the left pane, and right-click the IPv4 map. Select Define User Classes....


  3. Setting the User Class identifier

    The User Class ID should be gPXE (the name and description are not important).


  4. Setting DHCP options for default User Class

    When the PC boots, it must be told what file to load into the PXE environment and run, and where to fetch that file from. So close the User Class dialog, and in the DHCP console, rightclick on the Scope Options, then in the Scope Options click the advanced tab.

    Now for the User Class Default User Class, fill in the options 66 (Boot Server Host Name) and 67 (Bootfile Name).


  5. Setting DHCP options for gPXE User Class

    Once the 'undionly.kpxe' file the client just fetched is running, it will (again) ask the DHCP server what to do. The client will identify its stage with the DHCP User Class identifier 'gPXE', and this time the server should not tell it to fetch undionly.kpxe, but a configuration file that the Gryplet demo generates. So under the User Class gPXE, fill in options 66 and 67 differently:


  6. Testbooting

    You can now boot a PC in the range you just configured, and have it bot from the network. It will try to boot from the Gryplet server.