On Wed, 15 Mar 2017 13:53:08 -0600 Joshua Schaeffer <jschaeffer0...@gmail.com> wrote: > 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
As someone who is curious about PXE, did you ever figure this out? Thanks, David