Ahoy, I've been learning how to setup PXE booting to install an OS image on a 100% UEFI system (CSM completely disabled). I use Debian 8 as my DHCP server (ISC DHCP) and as my TFTP server (tftpd-hpa). I also use the Debian netboot installer to provide the PXE environment including the bootnetx64.efi file (I use it to serve pxelinux.0 as well).
I'm able to get to menu screens with PXE on UEFI and BIOS, but I have to have specific files in certain directories for UEFI and I don't know how to change the defaults. With BIOS I'm able to control the directories and files that are served by changing the pxelinux.cfg/default file. For BIOS I put my debian-installer directory (which contains the boot screen, menus, etc) under gtk. So I just have lines like this in my pxelinux.cfg/default file: path gtk/debian-installer/amd64/boot-screens/ default gtk/debian-installer/amd64/boot-screens/vesamenu.c32 However, I can't figure out how to tell UEFI to look in specific directories. Instead I've been left with just having to create a symlink from the default directory that bootnetx64.efi looks in to point to the actual directory that my GRUB files exist. How do you configure UEFI PXE booting to use different directories then the defaults? Let me try to explain what I'm seeing a little better: This is my TFTP server. The base directory is /srv/tftp: root@broodwar:/srv/tftp/pxeboot# ls -l total 48208 -rw-r--r-- 1 tftp tftp 435712 Mar 15 10:38 bootnetx64.efi drwxr-xr-x 1 tftp tftp 4 Sep 28 11:10 centos drwxr-xr-x 1 tftp tftp 4 Sep 28 11:10 debian drwxr-xr-x 1 tftp tftp 8 Sep 28 11:16 fedora drwxr-xr-x 1 tftp tftp 120 Sep 17 10:04 gtk -rw-r--r-- 1 tftp tftp 116624 Sep 28 09:30 ldlinux.c32 -rw-r--r-- 1 tftp tftp 25372 Sep 30 10:40 memdisk -rw-r--r-- 1 tftp tftp 29360128 Sep 13 2016 mini.iso -rw-r--r-- 1 tftp tftp 19370928 Sep 13 2016 netboot.tar.gz drwxr-xr-x 1 tftp tftp 16 Sep 28 11:17 opensuse -rw-r--r-- 1 tftp tftp 42988 Sep 13 2016 pxelinux.0 drwxr-xr-x 1 tftp tftp 248 Sep 30 10:31 pxelinux.cfg drwxr-xr-x 1 tftp tftp 20 Sep 28 11:17 ubuntu drwxr-xr-x 1 tftp tftp 32 Sep 30 09:40 windows drwxr-xr-x 1 tftp tftp 52 Sep 17 10:04 xen You can see that under the base directory I have a pxeboot directory which can serve both pxelinux.0 and bootnetx64.efi. I also have a gtk folder which is where the debian-installer folder resides under (this has items like my boot screens and menus as well as GRUB related files for UEFI). So, when booting via BIOS I tell my pxelinux.cfg file to look under the gtk folder as shown above. bootnetx64.efi however is looking for the following files: - debian-installer/amd64/grub/x86_64-efi/command.lst - debian-installer/amd64/grub/x86_64-efi/fs.lst - debian-installer/amd64/grub/x86_64-efi/crypto.lst - debian-installer/amd64/grub/x86_64-efi/terminal.lst - debian-installer/amd64/grub/grub.cfg I know this because this is what is reported in the tftp log files. I have to have a symlink called debian-installer in my root directory (/srv/tftp/debian-installer) pointing to my gtk folder (srv/tftp/pxeboot/gtk/debian-installer). root@broodwar:/srv/tftp/pxeboot# ls -l .. total 4 drwxr-xrwx 1 tftp tftp 128 Jan 23 15:24 cisco_config lrwxrwxrwx 1 root root 29 Mar 15 12:34 debian-installer -> pxeboot/gtk/debian-installer/ drwxr-xr-x 1 tftp tftp 242 Mar 15 12:33 pxeboot How do I tell bootnetx64.efi to just look directly in that folder instead of looking at the default location? Thanks, Joshua