On Fri, 2019-11-29 at 14:44:30 +0000, Frank Morawietz wrote: > In a recent discussion I found... > > > You have to start the PC using UEFI boot via PXE (instead of legacy) - > > than grub-install installs the efi-based grub when called by FAI. > > ...and that's exactly what I'm fighting with currently. > Has anybody done this already? Booting PXE in UEFI mode in order to run the > FAI installation for UEFI? > > I configured the BIOS settings of the client accordingly: Secure Boot off; > Enable UEFI network stack; included NIC into boot list; etc. > > On the FAI server side I can see the DHCPDISCOVER, DHCPOFFER, DHCPREQUEST and > DHCPACK sequence with correct MAC and IP addresses in the daemon.log . This > is followed by the usual "tftp: client does not accept options", so I assume > that control gets handed over to tftpd. Looks like a successful PXE boot to > me. > > On the client side the PXE is requesting the address, waiting for some time, > then the screen displays a generic error message and recommends to run diags, > go to BIOS or try again. > > An update of the client's BIOS to the most recent version did not help. > > In my despair I even called the vendor support. They told me that I needed a > different pxelinux image for UEFI... Can this be true? > > BTW: The very same configuration booted with PXE in legacy mode works > perfectly. It starts fine and the whole installation runs through until the > system is installed completely. Of course, it installed a legacy system, not > UEFI, then. > > Thanks for any experience/advice/help,
Hi Frank, from my dhcpd.conf: ## PXE boot handling: support UEFI ## https://www.syslinux.org/wiki/index.php?title=PXELINUX#UEFI ## merged with something else that doesn't require "architecture type code 93" if substring(option vendor-class-identifier, 0, 20) = "PXEClient:Arch:00000" { filename "pxelinux.0"; # needs ldlinux.c32 } if substring(option vendor-class-identifier, 0, 20) = "PXEClient:Arch:00006" { filename "syslinux32.efi"; # needs ldlinux.e32 } if substring(option vendor-class-identifier, 0, 20) = "PXEClient:Arch:00007" { filename "syslinux64.efi"; # needs ldlinux.e64 } if substring(option vendor-class-identifier, 0, 20) = "PXEClient:Arch:00009" { filename "syslinux64.efi"; } Does this help you? Cheers, Steffen -- Steffen Grunewald, Cluster Administrator Max Planck Institute for Gravitational Physics (Albert Einstein Institute) Am Mühlenberg 1 * D-14476 Potsdam-Golm * Germany ~~~ Fon: +49-331-567 7274 Mail: steffen.grunewald(at)aei.mpg.de ~~~