Michael Brown 910d9c5a98 [efi] Allow executing images even with no open network devices
We need a device handle from which to nominally load an EFI image.  We
currently rely on using the most recently opened network device's SNP
device handle, in the same way that we use the most recently opened
network device when loading a BIOS PXE NBP image.  If there is no most
recently opened network device, then we cannot execute an EFI image.

We use three aspects of the SNP device handle: the handle itself
(giving us something on which to install protocols), the associated
device path (giving us a base path from which to construct the new
image's file path), and the associated network device (giving us an
interface for the PXE base code protocol installation).

Make the network device optional by simply choosing not to install the
PXE base code protocols when no network device is defined.  This
allows us to fall back to using our own loaded image's device handle
and device path for the other two purposes.

Signed-off-by: Michael Brown <mcb30@ipxe.org>
2026-03-05 12:59:31 +00:00

iPXE network bootloader

Build Coverity Release

iPXE is the leading open source network boot firmware. It provides a full PXE implementation enhanced with additional features such as:

  • boot from a web server via HTTP or HTTPS,

  • boot from an iSCSI, FCoE, or AoE SAN,

  • control the boot process with a script,

  • create interactive forms and menus.

You can use iPXE to replace the existing PXE ROM on your network card, or you can chainload into iPXE to obtain the features of iPXE without the hassle of reflashing.

iPXE is free, open-source software licensed under the GNU GPL (with some portions under GPL-compatible licences).

You can download the rolling release binaries (built from the latest commit), or use the most recent stable release.

For full documentation, visit the iPXE website.

S
Description
No description provided
Readme 125 MiB
Languages
C 96.9%
Assembly 1.5%
Perl 0.6%
Python 0.4%
Makefile 0.4%