Issues getting pxeboot server to work

I’m trying to get a pxeboot server to run for installing Rocky 8.5. I’m using the RHEL 8 advanced install guide as a reference. The installs need to be UEFI bios installs, not legacy bios.
The DHCP part seems to work fine - the client system receives an IP address.
I run “tail -F /var/log/messages” on the server to try to catch where it’s crapping out - I can see the client getting an IP address, but it seems to die when the system image is supposed to be transferred to the client.

On this Rocky 8.5 server, nothing seems to happen after getting the IP address.
Here’s what I’ve got created in each folder:
/var/lib/tftpboot - grub.cfg, directories ‘images’ and ‘uefi’
/var/lib/tftpboot/images/rocky85 - initrd.img and vmlinuz
/var/lib/tftpboot/uefi - grubx64.efi shimx64.efi shimx64-rocky.efi

The last message that pops up on the screen on the client is “Fetching net boot image”, and then it goes straight to the grub menu - grub>

On the pxeboot server, in /var/log/messages, you can see the client gets an IP address from the server, then the following messages pop up

in.tftpd{11640]: Error code 8: User aborted transfer
in.tftpd[11641]: Client finished uefi/BOOTX64.EFI
in.tftpd[11642]: Client finished uefi/grubx64.efi

It looks like it doesn’t try to load shimx64.efi or shimx64-rocky.efi even though both images are in that UEFI directory.

I’m pretty sure I’m missing a step somewhere. Can anyone suggest how to get this pxeboot to work correctly?

Argh! I looked at a different pxeboot configuration guide, one that was put out by Centos and not Redhat, and that one said to put the grub.cfg file in /var/lib/tftpboot/uefi rather than /var/lib/tftpboot and that made it work.

Good to know you figured it out. This page might have some helpful info for you as well: PXE (with grub2) — Linux Guide and Hints

1 Like