[Kea-users] Adding pxe with uefi

Stephen Berg (Code 7309) stephen.berg at nrlssc.navy.mil
Thu Feb 16 12:22:46 UTC 2023


kea-1.8.0-2 running on a Rocky Linux 8.7 system.

I've got a good setup for leasing out IP addresses on my network and 
also pxeboot'ing BIOS based systems into a Rocky Linux/CentOS kickstart 
install.

I need to start doing the same install procedure for systems that only 
support uefi booting.  I've found lots of examples of doing this, tried 
a few but so far nothing has worked.

client-classes I have defined currently:
--------------------
     "client-classes": [
     {
         "name": "pxe_x86",
         "next-server": "1.1.1.249",
         "server-hostname": "dhcp1",
         "boot-file-name": "pxelinux.0",
         "test": "option[93].hex == 0x0000"
     }
     ],
     "client-classes": [
     {
         "name": "pxe_bios_x86",
         "test": "substring(option[60].hex,0,9) == 'PXEClient' and 
option[93].hex == 0x0000",
         "next-server": "1.1.1.249",
         "boot-file-name": "pxelinux.0"
     }
     ],
--------------------

All systems have a reservation like this, they're read from a json file:

{ "ip-address": "1.1.1.82",
   "hostname": "thishost",
   "hw-address": "aa:bb:cc:dd:ee:ff",
   "next-server": "1.1.1.249",
   "boot-file-name": "pxelinux.0"
},

--------------------
When pxebooting for a kickstart install here's a Rocky Linux 8.7 
example, 01-aa-bb-cc-dd-ee-ff:

default rl8.7-x86_64

label rl8.7-x86_64
     kernel /linux-install/rl8.7-x86_64/vmlinuz
     append initrd=/linux-install/rl8.7-x86_64/initrd.img 
inst.lang=en_US.UTF-8 inst.keymap=us 
inst.ks=nfs:1.1.1.249:/export/kickstart/thishost.ks

--------------------

For normal ops I take out the next-server and boot-file-name from the 
reservation and just use the dhcp leasing on the systems.

As I understand things right now I need to add in a client-class for 
doing a pxeboot on a uefi system and tweak the boot-file-name during the 
pxeboot process.  I haven't stumbled across the right ju-ju to get this 
working and I keep seeing more examples that just add to the confusion.

One specific thing that has me confused in all this is I keep seeing 
references to a boot-file-name setting with various different *.efi 
files, but can't find any of those files anywhere.  There doesn't seem 
to be an rpm that will install them in rocky linux 8.x, 9.x or CentOS 7.


-- 
Stephen Berg, IT Specialist, Ocean Sciences Division, Code 7309
Naval Research Laboratory
stephen.berg at nrlssc.navy.mil <- (Preferred contact)
W:   (228) 688-5738
DSN: (312) 823-5738
C:   (228) 365-0162



More information about the Kea-users mailing list