I copied this procedure with fedora. My client did not like shim.efi but booted fine with grubx64.efi. grub gave me a prompt instead of a menu even though I had grub.cfg. Can I get a menu with pxe?
my tftpboot looks like tftpboot / images / pxeboot / vmlnuz
/ images / pxeboot / initrd.img
/ uefi / fedora/grub.cfg
/ uefi / grubx64.efi
/ uefi / shim.efi
grub.cfg looks like:
---
set timeout=600
set default=0
menuentry 'Fedora Workstation' {
linuxefi /images/pxeboot/vmlinuz ip=dhcp noipv6
initrdefi /images/pxeboot/initrd.img
}
---
/etc/dnsmasq.conf looks like:
---
# Configuration file for dnsmasq:
# Turn on the debugging
log-dhcp
# Don't function as a DNS server
port=0
# kill multicast
dhcp-option=vendor:PXEClient,6,2b
# This range(s) is for the public interface, where dnsmasq functions
# as a proxy DHCP server providing boot information but no IP leases.
# Any ip in the subnet will do, so you may just put your server NIC ip here.
dhcp-range=192.168.0.5,proxy
# Set the boot filename for netboot/PXE. You will only need this if you want to
# boot machines over the network and you will need the built in TFTP server.
#pxe-prompt="What system shall I netboot?", timeout before first available action is taken:
pxe-prompt="Press F8 for the Menu.", 5
#Loads <tftp-root>/pxelinux.0 from dnsmasq TFTP server.
pxe-service=x86PC, "Install Fedora Workstation, (BIOS)", bios/pxelinux
#Loads <tftp-root>/uefi/shim.efi from dnsmasq TFTP server.
pxe-service=X86-64_EFI, "Boot From Network, (UEFI)", uefi/grubx64
pxe-service=BC_EFI, "Boot From Network, (UEFI)", uefi/grubx64
# Enable dnsmasq's built-in TFTP server
enable-tftp
# Set the root directory for files available via FTP.
tftp-root=/srv/tftpboot
---