Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
dhcp:pxe [2024/01/25 10:24] jsdhcp:pxe [2024/01/25 15:12] (current) – [Sources] js
Line 16: Line 16:
   9    EFI x86-64</code>   9    EFI x86-64</code>
  
 +==== dhcpd.conf ====
  
-=== DHCP Options === 
-|DHCP Config | Option | 
-|DHCP Network application (e.g. UniFi Network Controller)| 43| 
-|DHCP NTP Server| 42 | 
-|DHCP Network Boot | 66 and 67 | 
-|DHCP Time Offset | 2 | 
-|DHCP TFTP Server | 66 | 
-|DHCP WPAD URL | 252 | 
-|DHCP WINS Server | 44 | 
  
  
Line 75: Line 67:
 } }
 </code> </code>
 +
 +<code>ddns-update-style interim;
 +
 +allow booting;
 +allow bootp;
 +authoritative;
 +log-facility local6;
 +
 +ignore client-updates;
 +set vendorclass = option vendor-class-identifier;
 +
 +## Allowing EFI Clients
 +option pxe-system-type code 93 = unsigned integer 16;
 +option rfc3442-classless-static-routes code 121 = array of integer 8;
 +option ms-classless-static-routes code 249 = array of integer 8;
 +
 +option space pxelinux;
 +option pxelinux.magic code 208 = string;
 +option pxelinux.configfile code 209 = text;
 +option pxelinux.pathprefix code 210 = text;
 +option pxelinux.reboottime code 211 = unsigned integer 32;
 +option architecture-type code 93 = unsigned integer 16;
 +
 +option pxelinux.mtftp-ip    code 1 = ip-address;
 +option pxelinux.mtftp-cport code 2 = unsigned integer 16;
 +option pxelinux.mtftp-sport code 3 = unsigned integer 16;
 +option pxelinux.mtftp-tmout code 4 = unsigned integer 8;
 +option pxelinux.mtftp-delay code 5 = unsigned integer 8;
 +
 +subnet 10.100.0.0 netmask 255.255.255.0 {
 +        interface               br1000;
 +        option routers          10.100.0.1;
 +        option domain-name-servers      10.100.0.1, 10.100.0.231;
 +        option domain-name              "angelsofclockwork.net";
 +        option subnet-mask              255.255.255.0;
 +        range           10.100.0.110 10.100.0.199;
 +        ## EFI Client Catch
 +        class "pxeclients" {
 +                match if substring (option vendor-class-identifier, 0, 9) = "PXEClient";
 +                if option pxe-system-type = 00:07 {
 +                        filename "boot/grub2/x86_64-efi/core.efi";
 +                } else if option pxe-system-type = 00:08 {
 +                        filename "boot/grub2/x86_64-efi/core.efi";
 +                } else if option pxe-system-type = 00:09 {
 +                        filename "boot/grub2/x86_64-efi/core.efi";
 +                } else if option pxe-system-type = 00:0a {
 +                        filename "boot/grub2/armv7a-efi/core.efi";
 +                } else if option pxe-system-type = 00:0b {
 +                        filename "boot/grub2/aarch64-efi/core.efi";
 +                } else {
 +                        filename "boot/grub2/i386-pc/core.0";
 +                }
 +        }
 +        default-lease-time      21600;
 +        max-lease-time  43200;
 +        next-server     10.100.0.1;
 +}
 +</code>
 +
 +
 +
 +
 +==== Sources ====
 +  * [[https://www.syslinux.org/archives/2014-October/022683.html]]
 +  * [[https://wiki.fogproject.org/wiki/index.php/BIOS_and_UEFI_Co-Existence]]
 +  * [[https://datatracker.ietf.org/doc/html/rfc4578]]
 +  * [[https://williamlam.com/2015/10/support-for-uefi-pxe-boot-introduced-in-esxi-6-0.html]]
 +  * [[https://techlibrary.hpe.com/docs/iss/proliant_uefi/UEFI_TM_030617/s_setting_UEFI_PXE.html]]
 +
 +