20.29. kb-00028: UEFI Boot Support - Option 67

20.29.1. Knowledge Base Article: kb-00028

20.29.2. Description

This article describes how Digital Rebar and the DHCP subsystem handle assigning the next-server and next-boot (bootfile) directives for PXE booting systems.

20.29.3. Solution

A DHCP Subnet specification will try to automatically determine the correct values for the next-server and DHCP Option 67 values. In most cases, you shouldn’t need to change this or set these fields. Older versions of DRP may need the next-boot and/or the DHCP Option 67 values set to work correctly. This is especially true of Virtualbox environments prior to v3.7.1. You will need to force the DHCP Option 67 to lpxelinux.0.

The DHCP service in Digital Rebar Provision can support fairly complex boot file service. You can use advanced logic to ensure you send the right PXE boot file to a client, based on Legacy BIOS boot mode, or UEFI boot mode. Note that UEFI boot mode can vary dramatically in implementations, and some (sadly; extensive) testing may be necessary to get it to work for your system. We have several reports of field deployments with various UEFI implementations working with the new v3.7.0 and newer “magic” Option 67 values.

Here is an example of an advanced Option 67 parameter for a DHCP Subnet specification:

{{if (eq (index . 77) "iPXE") }}default.ipxe{{else if (eq (index . 93) "0")}}ipxe.pxe{{else}}ipxe.efi{{end}}

If you run in to issues with UEFI boot support - please do NOT hesitate to contact us on the Slack Channel as we may have updated info to help you with UEFI boot support.

An example of adding this to your Subnet specification might look something like:
# assumes your subnet name is "eth1" - change it to match your Subnet name:

# you may need to delete the existing value if there is one, first, by doing:
# drpcli subnets set eth1 option 67 to null   # The setting to null is not needed with v3.7.1 and beyond.

drpcli subnets set eth1 option 67 to '{{if (eq (index . 77) "iPXE") }}default.ipxe{{else if (eq (index . 93) "0")}}ipxe.pxe{{else}}ipxe.efi{{end}}'

Warning

You should not have to add option 67 unless you are meeting a specific need. Test without it first!

20.29.4. Additional Information

Additional resources and information related to this Knowledge Base article.

20.29.4.1. See Also

20.29.4.2. Versions

v3.7.1 and newer

20.29.4.3. Keywords

pxe, pxe boot, next-server, next-boot, next-file, bootfile, dhcp

20.29.4.4. Revision Information

KB Article     :  kb-00028
initial release:  Wed Jun 10 12:14:14 PDT 2020
updated release:  Wed Jun 10 12:14:14 PDT 2020