gPXE
gPXE is an open-source Preboot eXecution Environment (PXE) client firmware implementation and bootloader derived from Etherboot. It can be used to enable computers without built-in PXE support to boot from the network, or to extend an existing client PXE implementation with support for additional protocols. While standard PXE clients use TFTP to transfer data, gPXE client firmware adds the ability to retrieve data through other protocols like HTTP, iSCSI and ATA over Ethernet (AoE), and can work with Wi-Fi rather than requiring a wired connection.
Developer(s) | Etherboot project |
---|---|
Initial release | 1995, 24–25 years ago[1][2] |
Stable release | 1.0.1
/ 16 August 2011 |
Written in | C |
Type | Boot loader |
License | GPLv2+ |
Website | etherboot |
gPXE development ceased in summer 2010,[3] and several projects are migrating[4] or considering migrating[5] to iPXE as a result.
PXE implementation
gPXE can be loaded by a computer in several ways:
- from media like floppy disk, USB flash drive, or hard disk
- as a pseudo Linux kernel
- as an ELF image
- from an option ROM on a network card or embedded in a system BIOS
- over a network as a PXE boot image
gPXE implements its own PXE stack, using a driver corresponding to the network card, or a UNDI driver if it was loaded by PXE itself. This allows to use a PXE stack even if the network card has no boot ROM, by loading gPXE from a fixed medium.
Bootloader
Although its basic role was to implement a PXE stack, gPXE can be used as a full-featured network bootloader. It can fetch files from multiple network protocols,[6] such as TFTP, NFS, HTTP[7][8] or FTP, and can boot PXE, ELF, Linux, FreeBSD, multiboot, EFI, NBI and Windows CE images.
In addition, it is scriptable and can load COMBOOT and COM32 SYSLINUX extensions. This allows for instance to build a graphical menu for network boot.
References
- "about — Etherboot/gPXE Wiki".
- "Bringing PXE Boot to the 21st Century". Archived from the original on 2012-11-20.
- "gPXE is no longer actively maintained. Users should upgrade to iPXE."
- Xen ChangeLog showing migration to iPXE because "it is actively maintained"
- KVM call minutes showing consideration of migration to iPXE
- Google TechTalk demonstrates how to load operating systems from remote servers using gPXE
- "Booting your machine over HTTP". Archived from the original on 2010-02-08. Retrieved 2009-12-23.
- SliTaz web boot