[gPXE] Nature of EFI aspect of gPXE?

Michael Brown mbrown at fensystems.co.uk
Sun May 23 14:44:54 EDT 2010


On Sunday 23 May 2010 03:15:51 Glenn Brown wrote:
> 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?

SNP.

> 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?

.efidrv/.efirom provides an SNP interface that other EFI clients can use.

.efi provides an EFI application that looks like regular BIOS-based gPXE.

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

Written to UEFI-2.0, but I believe it does work on a Mac.

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

Yes; .efirom is just the .efidrv binary packaged as an expansion ROM (using 
util/efirom.c).

> What interface does the .efi application layer itself over?

It doesn't (at present) layer over any underlying network interface (either 
SNP or UNDI).  The .efi application exists mainly as an initial bootstrap for 
getting gPXE EFI support working; the ultimate target was the .efidrv/.efirom 
format.

That said, it would potentially be useful to add a driver that can utilise an 
underlying SNP interface.

Michael


More information about the gPXE mailing list