IPXE
Developer(s) | iPXE project |
---|---|
Stable release | 1.0.0+ |
Written in | C |
Type | Boot loader |
License | GPLv2+ |
Website | ipxe.org |
iPXE (formerly gPXE in 2010,[1] formerly Etherboot) is an open-source Preboot Execution Environment (PXE) implementation and bootloader. It can be used to enable computers without built-in PXE support to boot from the network, or to extend an existing PXE implementation with support for additional protocols. While traditional PXE clients use TFTP to transfer data, iPXE adds the ability to retrieve data through other protocols like HTTP, iSCSI, ATA over Ethernet (AoE), and Fibre Channel over Ethernet (FCoE), and can work with Wi-Fi rather than requiring a wired connection.
PXE implementation
iPXE 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
iPXE 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 you to use a PXE stack even if the network card has no boot ROM, by loading iPXE from a fixed medium.
Bootloader
Although its basic role was to implement a PXE stack, iPXE can be used as a full-featured network bootloader. It can fetch files from multiple network protocols,[2] such as TFTP, NFS, HTTP[3][4] or FTP, and can boot PXE, ELF, Linux, FreeBSD, multiboot, EFI, and Windows CE images.
In addition, it is scriptable and can load COMBOOT and COM32 SYSLINUX extensions. This allows you, for instance, to build a graphical menu for network boot.
See also
- PXELINUX
- Coreboot
References
External links
- Official website
- etherboot.org - The Etherboot/gPXE Wiki
- Introduction to Network Booting and Etherboot