[resolved] PXE booting uefi machines (x86)
To followup on this.
The hardware I was testing with showed UEFI options in the setup
screens but apparently it was incomplete - there was no support
for UEFI netbooting, even after upgrading to the latest firmware.
Testing with different hardware worked on my initial setup, first time.
So now I am able to network-boot either BIOS or UEFI clients, using
the same config file.
Vince
In case anyone cares here are the details, recast to avoid confusion.
If anyone thinks this would be a useful adtition to the manual please
let me know.
The dhcp server gives the following paths on the tftp server:
- BIOS clients: /pxelinux.0 or /bios/lpxelinux.0
- UEFI clients: /efi64/syslinux.efi
The tftp server is Stretch with tftpd-hpa and the --secure option.
The server directory tree layout is:
/srv/tftpboot/
bios/
*.c32 # copied from /usr/lib/syslinux/modules/bios
lpxelinux.0
pxelinux.cfg/
default -> ../../default.cfg
debian/daily/amd64/debian-installer/amd64/
bootnetx64.efi
boot-screens/
grub/
grubx64.efi
initrd.gz
linux
pxelinux.0
pxelinux.cfg/
default # standard netboot.tar.gz version
default.cfg # customised master PXE config file
efi64/
syslinux.efi
*.c32 #copied from /usr/lib/syslinux/modules/efi64/
ldlinux.e64 #ditto
pxelinux.cfg/
default -> ../../default.cfg
ldlinux.c32 -> bios/ldlinux.c32
pxelinux.0 -> bios/lpxelinux.0
pxelinux.cfg -> bios/pxelinux.cfg
There is a simpler way to set things up that will work for stable
releases (but not for the 'daily' installer images).
Download the netboot installer tarball (e.g. [1]), unpack the
netboot.tar.gz file in /srv/tftpboot and add the three symlinks.
/srv/tftpboot
debian-installer/amd64/
bootnetx64.efi
boot-screens/
ldlinux.c32
grub/
grubx64.efi
initrd.gz
linux
pxelinux.0
pxelinux.cfg/
default # standard netboot.tar.gz version
ldlinux.c32 -> debian-installer/amd64/boot-screens/ldlinux.c32
pxelinux.0 -> debian-installer/amd64/pxelinux.0
pxelinux.cfg -> debian-installer/amd64/pxelinux.cfg
The di-netboot-assistant package can help take care of this for you.
On the dhcp server set the file paths to
- BIOS clients: /pxelinux.0
- UEFI clients: /debian-installer/amd64/bootnetx64.efi
The bootnetx64.efi file behaves differently to syslinux.efi and
just Does The Right Thing if you set up the TFTP tree as shown.
[1] http://deb.debian.org/debian/dists/stretch/main/installer-amd64/current/images/netboot/netboot.tar.gz
Reply to: