# GPXE

> Mediated Wiki article. Canonical URL: https://mediated.wiki/source/GPXE
> Markdown URL: https://mediated.wiki/source/GPXE.md
> Source: https://en.wikipedia.org/wiki/GPXE
> Source revision: 1342075915
> License: Creative Commons Attribution-ShareAlike 4.0 International (https://creativecommons.org/licenses/by-sa/4.0/)

{{Short description|Open-source PXE client}}
{{Lowercase title}}
{{Infobox software
|name                       = gPXE
|logo                       =
|screenshot                 =
|caption                    =
|collapsible                =
|author                     =
|developer                  = Etherboot project
|released                   = {{Release year|1995}}<ref>{{cite web | url = http://etherboot.org/wiki/about | title = about &mdash; Etherboot/gPXE Wiki }}</ref><ref>{{cite web |url=http://tech.firdooze.com/2010/05/09/bringing-pxe-boot-to-the-21st-century/ |title=Bringing PXE Boot to the 21st Century |url-status=dead |archiveurl=https://web.archive.org/web/20121120055756/http://tech.firdooze.com/2010/05/09/bringing-pxe-boot-to-the-21st-century/ |archivedate=2012-11-20 }}</ref><!-- {{Start date|YYYY|MM|DD}} -->
|latest release version     = 1.0.1
|latest release date        = {{Start date and age|2011|08|16|df=yes}}
|latest preview version     =
|latest preview date        = <!-- {{Start date and age|YYYY|MM|DD}} -->
|programming language       = [C](/source/C_(programming_language))
|operating system           =
|platform                   =
|size                       =
|language                   =
|discontinued               = yes
|genre                      = [Boot loader](/source/Boot_loader)
|license                    = [GPLv2](/source/GNU_General_Public_License)+
|website                    = {{URL|http://etherboot.org/}}
}}

thumb | right | alt=Etherboot Logo | Etherboot Logo
'''gPXE''' is an [open-source](/source/open-source_software) [Preboot eXecution Environment](/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](/source/Trivial_File_Transfer_Protocol) to transfer data, gPXE client firmware adds the ability to retrieve data through other protocols like [HTTP](/source/Hypertext_Transfer_Protocol), [iSCSI](/source/iSCSI) and [ATA over Ethernet](/source/ATA_over_Ethernet) (AoE), and can work with [Wi-Fi](/source/Wi-Fi) rather than requiring a wired connection.

gPXE development ceased in summer 2010,<ref name="Ohloh project page for gPXE">{{Cite web |url=https://www.ohloh.net/p/gpxe/ |title="gPXE is no longer actively maintained. Users should upgrade to iPXE." |access-date=2010-11-30 |archive-date=2014-04-13 |archive-url=https://web.archive.org/web/20140413132727/http://www.ohloh.net/p/gpxe |url-status=dead }}</ref> and several projects are migrating<ref name="Xen changelog - iPXE">[http://lists.xensource.com/archives/html/xen-changelog/2010-11/msg00055.html Xen ChangeLog showing migration to iPXE because "it is actively maintained"]</ref> or considering migrating<ref name="KVM call minutes - iPXE">[http://www.spinics.net/lists/kvm/msg45496.html KVM call minutes showing consideration of migration to iPXE]</ref> to [iPXE](/source/iPXE) as a result.

== PXE implementation ==

gPXE can be loaded by a computer in several ways:
*from media like [floppy disk](/source/floppy_disk), [USB flash drive](/source/USB_flash_drive), or [hard disk](/source/hard_disk_drive)
*as a pseudo [Linux kernel](/source/Linux_kernel)
*as an [ELF image](/source/Executable_and_Linkable_Format)
*from an [option ROM](/source/option_ROM) on a network card or embedded in a system [BIOS](/source/BIOS)
*over a [network](/source/Ethernet) as a PXE boot image

gPXE implements its own PXE stack, using a driver corresponding to the network card, or a [UNDI](/source/Universal_Network_Device_Interface) driver if it was loaded by PXE itself. This allows to use a PXE stack even if the network card has no boot [ROM](/source/Read-only_memory), 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,<ref name="Google TechTalk - gPXE">[https://www.youtube.com/watch?v=GofOqhO6VVM Google TechTalk demonstrates how to load operating systems from remote servers using gPXE]</ref> such as [TFTP](/source/Trivial_File_Transfer_Protocol), [NFS](/source/Network_File_System_(protocol)), [HTTP](/source/Hypertext_Transfer_Protocol)<ref name="Booting your machine over HTTP">{{Cite web |url=http://boot.kernel.org/ |title=Booting your machine over HTTP |access-date=2009-12-23 |archive-url=https://web.archive.org/web/20100208164141/http://boot.kernel.org/ |archive-date=2010-02-08 |url-status=dead }}</ref><ref name="SliTaz web boot">[http://boot.slitaz.org/ SliTaz web boot]</ref> or [FTP](/source/File_Transfer_Protocol), and can boot PXE, [ELF](/source/Executable_and_Linkable_Format), Linux, [FreeBSD](/source/FreeBSD), [multiboot](/source/Multiboot_Specification), [EFI](/source/Extensible_Firmware_Interface), [NBI](/source/Network_Bootable_Image) and [Windows CE](/source/Windows_CE) images.

In addition, it is scriptable and can load COMBOOT and COM32 [SYSLINUX](/source/SYSLINUX) extensions. This allows for instance to build a graphical menu for network boot.

== See also ==
{{Portal|Free and open-source software}}
* [PXE](/source/Preboot_Execution_Environment)
* [PXELINUX](/source/SYSLINUX)
* [iPXE](/source/iPXE)

==References==
{{Reflist|30em}}

==External links==
* [http://etherboot.org/wiki/index.php etherboot.org - The Etherboot/gPXE Wiki]
* [https://web.archive.org/web/20091226145846/http://rom-o-matic.net/ ROM-o-matic.net dynamically generates gPXE and Etherboot network booting image]
* [http://www.linuxdocs.org/HOWTOs/Diskless-HOWTO-8.html Introduction to Network Booting and Etherboot]
* [https://web.archive.org/web/20160315061754/https://blogs.oracle.com/ksplice/entry/pxe_dust_scalable_day_to PXE dust: scalable day-to-day diskless booting (via Archive.org last available)]

{{Firmware and booting}}

Category:Network booting
Category:Free boot loaders
Category:Free network-related software

---
Adapted from the Wikipedia article [GPXE](https://en.wikipedia.org/wiki/GPXE) by Wikipedia contributors ([contributor history](https://en.wikipedia.org/wiki/GPXE?action=history)). Available under [Creative Commons Attribution-ShareAlike 4.0 International](https://creativecommons.org/licenses/by-sa/4.0/). Changes may have been made.
