@bigjim If we look at the boot table map these are the different classes of systems
Type Architecture Name
0 Intel x86PC
2 EFI Itanium
3 DEC Alpha
4 Arc x86
5 Intel Lean Client
6 EFI IA32
7 EFI BC (EFI Byte Code)
8 EFI Xscale
9 EFI x86-64
For this device Arch:0007 should have matched, which is EFI_BC so the flag UEFI should be set.
So the boot file name should match
The following section has noting to do with the tags above because this is the boot menu, but its needed to boot correctly with some firmware.
pxe-prompt="Booting FOG Client", 1
# The known types are x86PC, PC98, IA64_EFI, Alpha, Arc_x86,
# Intel_Lean_Client, IA32_EFI, BC_EFI, Xscale_EFI and X86-64_EFI
# This option is first and will be the default if there is no input from the user.
pxe-service=X86PC, "Boot to FOG", undionly.kpxe
pxe-service=X86-64_EFI, "Boot to FOG UEFI", ipxe.efi
pxe-service=BC_EFI, "Boot to FOG UEFI PXE-BC", ipxe.efi
In this menu BC_EFI flag should match, because this is an internal variable. The
pxe-prompt is set to 1 second because there is nothing for the user to select here because dnsmasq picks the correct flag.
Now I might suggest that you remove the comment at the end of hte BC line
pxe-service=BC_EFI, "Boot to FOG UEFI PXE-BC", ipxe.efi #ipxe7156.efi
Now there is one more trick if you have really wacky uefi firmware. Where you append the IP address of your fog server to the end of the pxe-service line making.
pxe-service=X86-64_EFI, "Boot to FOG UEFI", ipxe.efi, 10.5.0.240
But I haven’t see this extra trick needed in quite a while.
All this does is send the correct boot file name to the target computer using proxyDHCP protocol (over udp port 4011)