Using HTTP Boot with UEFI client

Thomas Lange lange at
Wed Jan 6 23:16:41 CET 2021

>>>>> On Wed, 6 Jan 2021 13:20:42 -0800, Adam Lewenberg <adamhl at> said:

    > I added an HTTP server to my FAI server and made the document root the 
    > directory containing ldlinux.e64 and pxelinux.cfg/.

    > When using PXE/TFTP I set the DHCP option "filename" to "pxelinux.0". I 
    > changed it so that now it returns the option "filename" set to the URL 
    > pointing to ldlinux.e64. I made no other changes to the DHCP service.

For UEFI the filename must be set to syslinux.efi. IIRC ldlinux.e64
then also be loaded automatically.

    > Using tcpdump on the FAI server I can see that the EFI client is 
    > attempting to use the TFTP service. However, I want it to use the HTTPS 
    > service (as indicated by the URL string I set "filename" to).
The first binary will always be loaded via TFTP. you can only use a
different pxelinux.0 (called lpxelinux.0) which support loading the
kernel and initrd via http.

    > Does the DHCP service need to send something back to the client to 
    > indicate that is should use HTTP(S) rather than TFTP?
IIRC UEFI does not support loaded things via http.

This is my pxelinux.cfg/someIP using http:

default fai-generated
label fai-generated

kernel http://myfaiserver/fai/vmlinuz-4.19.0-13-amd64
append initrd=http://myfaiserver/fai/initrd.img-4.19.0-13-amd64 ro rootovl  ip=dhcp root=,nfsvers=3 FAI_FLAGS=verbose,sshd,createvt FAI_CONFIG_SRC=nfs://myfaiserver/srv/fai/config FAI_ACTION=install nomodeset vga=794 quiet


regards Thomas

More information about the linux-fai mailing list