PXE boot for UEFI Systems



  • Hey Guys (and of course also ladies!)

    I want to add PXE boot support for my UEFI Hardware. pfSense should act as DHCP Server providing me the information.

    I just added all the options in DHCP configuration and wireshark is showing me, that the information is correct. but tftp download would not start - there might be some problems, but I am fed up after few hours for such a small thing.

    any ideas?

    this was my first try:
    0_1539805517817_e9375b89-4026-497d-932c-addcb8a8d26b-grafik.png

    then i changed over to:
    0_1539805555211_11000f17-3c04-4490-a26e-9a6472143f7e-grafik.png

    and this is my wireshark:
    0_1539805440643_84947469-7dce-42f3-8c8d-984efeea95f1-grafik.png



  • @yis Test with tftp client and see if you can get efi file. I just put them in my tftpboot folder and do not specify a Root Folder.



  • sorry for my late reply...
    I found a PXE testing script here: PXE_TEST

    actually I did a test and I am able to get the file:

    C:\_TOOLS>powershell.exe ./PXEtester.ps1
    
    Op          : BootResponse
    HType       : Ethernet
    HLen        : 6
    Hops        : 0
    XID         : 3635341944
    Secs        : 0
    Flags       : {Broadcast}
    CIAddr      : 0.0.0.0
    YIAddr      : 10.1.1.172
    SIAddr      : 10.1.1.2
    GIAddr      : 0.0.0.0
    CHAddr      : AA:BB:CC:DD:EE:FF
    SName       :
    File        : ldlinux.e64
    
    MagicCookie : 99.130.83.99
    Options     : {DhcpMessageType (DHCPOFFER), DhcpServerIdentifier (10.1.1.1), IPAddressLeaseTime (02:00:00), SubnetMask
                  (255.255.255.0)...}
    
    

    still - i cannot boot from uefi.
    actually I am trying to boot from UEFI in VMware ESX. I haven't hatware yet for doing physical test :(



  • @yis OK. You have tested out DHCP and tfp servers. I see a discrepancy with the packet trace results vs powershell.

    Are you booting with ipxe or syslinux?
    Which OS are they installed on?
    Have you configure the boot menu?



  • This made me think of some reference material I read on Oracle.

    Your default BIOS file name shows gpxelinux.0 . According to the following link gpxelinux.0 can be used with BIOS based PXE clients and UEFI clients in Legacy Mode. Not in UEFI mode. Read the top part of the page from the link.
    https://docs.oracle.com/cd/E92593_01/E71078/html/swk24-rml_psn_3s.html

    A quick look on Google I found this for someone setting up a FOG server on pfsense. It appears to be supporting UEFI. There are two articles here: https://vworld.nl/?s=pfsense+pxe

    I have never tried doing this via pfsense myself. I am using Windows Server WDS. I have successfully been able to PXE boot all four conditions (Legacy BIOS, UEFI w/Legacy, UEFI wo/Legacy and UEFI Secure Boot). There was a hiccup/bug with WDS I had to address first but the fix was simple.

    I'd love to know how this worked for you. I may try this in the future.