Skip to content

Commit

Permalink
Detect iPXE features
Browse files Browse the repository at this point in the history
Detect if iPXE has the needed features needed for Warewulf:
- ipxe.http - fetch the kernel and initrd over http
- ipxe.bzimage - Linux bzImage format kernels
or
- ipxe.efi - Linux kernel supporting EFI_STUB, eg. for EFI boot support

If features are missing (including if its not iPXE at all) chainload our iPXE based on architecture.
  • Loading branch information
bensallen committed Jul 3, 2019
1 parent ab97932 commit 1d92d66
Showing 1 changed file with 9 additions and 1 deletion.
10 changes: 9 additions & 1 deletion provision/etc/dhcpd-template.conf
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,23 @@ allow bootp;
ddns-update-style interim;
authoritative;

# Declare the iPXE option space
option space ipxe;

# Tell iPXE to not wait for ProxyDHCP requests to speed up boot.
option ipxe.no-pxedhcp code 176 = unsigned integer 8;
option ipxe.no-pxedhcp 1;

option ipxe-encap-opts code 175 = encapsulate ipxe;

# iPXE feature flags, set in DHCP request packet
option ipxe.http code 19 = unsigned integer 8;
option ipxe.bzimage code 24 = unsigned integer 8;
option ipxe.efi code 36 = unsigned integer 8;

option architecture-type code 93 = unsigned integer 16;

if exists user-class and option user-class = "iPXE" {
if exists ipxe.http and ( exists ipxe.bzimage or exists ipxe.efi ) {
filename "http://%{IPADDR}/WW/ipxe/cfg/${mac}";
} else {
if option architecture-type = 00:0B {
Expand Down

0 comments on commit 1d92d66

Please sign in to comment.