[ipxe-devel] UEFI support

Michael Brown mbrown at fensystems.co.uk
Thu Mar 21 01:21:35 UTC 2013

A major change was implemented recently for iPXE UEFI ROMs.  Previously, an 
iPXE UEFI ROM would provide only an SNP driver (equivalent to an UNDI driver), 
with the control of the network boot process handled by the UEFI platform 
firmware.  This has now been upgraded so that attempting to boot via an iPXE 
UEFI ROM will present the standard iPXE user interface, bypassing the 
relatively primitive UEFI network boot process.

All images loaded by iPXE are exposed to the booted image via a UEFI 
filesystem.  This allows a kernel+initrd to be loaded directly, for example:

  initrd http://boot.ipxe.org/demo/initrd.img
  chain http://boot.ipxe.org/demo/vmlinuz initrd=initrd.img

Other work is ongoing: in particular, support for UEFI SAN booting is the next 
major feature to be integrated.

I have obtained a signing key for UEFI Secure Boot, and should be able to 
provide a prebuilt set of iPXE binaries which could be used as-is on platforms 
with Secure Boot enabled.  (iPXE will remain completely free and open-source; 
the prebuilt signed binaries will just be for convenience.)

There's some explanatory blurb at http://ipxe.org/efi/vision which provides 
background on the motivation for taking this approach to UEFI support.

I'll make further announcements as features are completed; in the meantime, 
testing reports are welcome.  (Please note that iPXE as a UEFI _application_ 
does not work at present; you can use iPXE only as a UEFI ROM (.efirom) or as a 
UEFI driver (.efidrv).  This will be fixed soon.)


More information about the ipxe-devel mailing list