[gPXE] Nature of EFI aspect of gPXE?

Glenn Brown glenn at myri.com
Sat May 22 22:15:51 EDT 2010


I'd like to echo the plea for clarity.  I've written EFI-1.1 and 
UEFI-2.0 drivers, a gPXE driver, and Etherboot drivers, and I still 
don't understand even the most basic details of gPXE EFI support.

Here are some things I don't understand:

What interface is supported by .efidrv?  EFI device
drivers can interface via the Simple Network Protocol (SNP) interface or 
the UNDI32/64 (Undi) interface.  Does gPXE use one of these 'standard' 
interfaces?

Does .efidrv reside above or below the EFI device driver interface? 
That is, is it a way to provide a device driver to be used by EFI 
clients, or is a shim to interface a gPXE boot stack over an underlying 
EFI driver?  That is, is it a provider or consumer of the interface?

Does gPXE support EFI-1.1 (Mac) or UEFI-2.0 (everyone else) or both?
Under what circumstances is each supported.

What services are provide by the .efirom?  Is it just a PCI expansion 
ROM holding the EFI driver?  Something more?  Something else?

What interface does the .efi application layer itself over?

In other words, simple stack protocol diagrams and a clear overview seem 
to be missing from the gPXE documentation.  They would be most helpful 
considering that 'efi' is a fairly generic term that could refer to any 
part of the EFI protocol stack...

--Glenn


More information about the gPXE mailing list