Some time ago I configured network boot for my Raspberry Pi's, so that they boot off of my main server. Since the Pi's do things a little bit differently, I though it could be fun to get PXE Boot working on an x86 test machine. I found some guides that I read through, and it's not all that different from the Pi setup, except that it also involves Option 67 on the DHCP whereas the Pi's only use Option 66.
I have everything configured on the server, but I cannot really test it because the machines do not seem to read Option 66 from the DHCP. I tried on my test machine, my own workstation and I even setup a virtual machine. They read Option 67 just fine, but the server address targets the gateway (DHCP) itself.
I use a TP-Link ER605 router via Omada. Option 66 on the DHCP is set to the PXE Server at 192.168.69.59
while the Gateway is at 192.168.69.254
. Option 67 is set to syslinux.efi
.
This is the output when booting
>>Start PXE over IPv4.
Station IP address is 192.168.69.101
Server IP address is 192.168.69.254
NBP filename is syslinux.efi
NBP filesize is 0 bytes
PXE-E99: Unexpected network error.
I know that the Option 66 is working as it should on the DHCP, because my RPI's are still booting just fine.
I have spent the day searching this problem. I cannot seam to fine anyone with this issue, and as far as I can tell, it should combine Option 66 and 67 into a full TFTP path for the syslinux boot file. However, every guide that I have found installs a separate DHCP on the PXE server itself, so if they target the server incorrectly in those guides, it does not mean anything as the IP would be correct anyway.