GPXE

Last updated
gPXE
Developer(s) Etherboot project
Initial release1995, 2627 years ago [1] [2]
Final release
1.0.1 / 16 August 2011;10 years ago (2011-08-16)
Written in C
Type Boot loader
License GPLv2+
Website etherboot.org

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.

Contents

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:

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.

See also

Related Research Articles

Booting Process of starting a computer

In computing, booting is the process of starting a computer as initiated via hardware such as a button or by a software command. After it is switched on, a computer's central processing unit (CPU) has no software in its main memory, so some process must load software into memory before it can be executed. This may be done by hardware or firmware in the CPU, or by a separate processor in the computer system.

Trivial File Transfer Protocol (TFTP) is a simple lockstep File Transfer Protocol which allows a client to get a file from or put a file onto a remote host. One of its primary uses is in the early stages of nodes booting from a local area network. TFTP has been used for this application because it is very simple to implement.

Internet Small Computer Systems Interface or iSCSI is an Internet Protocol-based storage networking standard for linking data storage facilities. iSCSI provides block-level access to storage devices by carrying SCSI commands over a TCP/IP network. iSCSI facilitates data transfers over intranets and to manage storage over long distances. It can be used to transmit data over local area networks (LANs), wide area networks (WANs), or the Internet and can enable location-independent data storage and retrieval.

Preboot Execution Environment Standard for booting from a server

In computing, the Preboot eXecution Environment, PXE specification describes a standardized client–server environment that boots a software assembly, retrieved from a network, on PXE-enabled clients. On the client side it requires only a PXE-capable network interface controller (NIC), and uses a small set of industry-standard network protocols such as DHCP and TFTP.

Bootloader Software responsible for starting the computer and load other software to the CPU memory

A bootloader, also spelled as boot loader or called boot manager and bootstrap loader, is a computer program that is responsible for booting a computer.

New World ROM computers are Macintosh models that do not use a Macintosh Toolbox ROM on the logic board. Due to Mac OS X not requiring the availability of the Toolbox, this allowed ROM sizes to shrink dramatically, and facilitated the use of flash memory for system firmware instead of the now more expensive and less flexible Mask ROM that most previous Macs used. A facility for loading the Toolbox from the startup device was, however, made available, allowing the use of Mac OS 8 and Mac OS 9 on New World machines.

Old World ROM

Old World ROM computers are the Macintosh (Mac) models that use a Macintosh Toolbox read-only memory (ROM) chip, usually in a socket. All Macs prior to the iMac, the iBook, the Blue and White Power Mac G3 and the Bronze Keyboard (Lombard) PowerBook G3 use Old World ROM, while said models, as well as all subsequent models until the introduction of the Intel-based EFI Models, are New World ROM machines. In particular, the Beige Power Mac G3 and all other beige and platinum-colored Power Macs are Old World ROM machines. In common use, the "Old World" designation usually applies to the early generations of PCI-based "beige" Power Macs, but not the older Motorola 68000-based Macs; however, the Toolbox runs the same way on all three types of machines.

Unified Extensible Firmware Interface Operating system software specification

The Unified Extensible Firmware Interface (UEFI) is a publicly available specification that defines a software interface between an operating system and platform firmware. UEFI replaces the legacy Basic Input/Output System (BIOS) firmware interface originally present in all IBM PC-compatible personal computers, with most UEFI firmware implementations providing support for legacy BIOS services. UEFI can support remote diagnostics and repair of computers, even with no operating system installed.

Linux Terminal Server Project (LTSP) is a free and open source terminal server for Linux that allows many people to simultaneously use the same computer. Applications run on the server with a terminal known as a thin client handling input and output. Generally, terminals are low-powered, lack a hard disk and are quieter and more reliable than desktop computers because they do not have any moving parts.

coreboot Open-source computer firmware

coreboot, formerly known as LinuxBIOS, is a software project aimed at replacing proprietary firmware found in most computers with a lightweight firmware designed to perform only the minimum number of tasks necessary to load and run a modern 32-bit or 64-bit operating system.

Cromwell (computing)

Cromwell is a replacement firmware for the Microsoft Xbox gaming console that has been developed by the Xbox Linux Project. If programmed onto the onboard flash chip of the Xbox or a modchip, it can boot the Linux operating system and practically convert the Xbox into a full PC.

Diskless Remote Boot in Linux

DRBL is a NFS-/NIS server providing a diskless or systemless environment for client machines.

In Linux systems, initrd is a scheme for loading a temporary root file system into memory, to be used as part of the Linux startup process. initrd and initramfs refer to two different methods of achieving this. Both are commonly used to make preparations before the real root file system can be mounted.

The Windows NT booting process is the process by which Windows NT 4.0, Windows 2000, Windows XP and Windows Server 2003 operating systems initialize. In Windows Vista and later, this process has changed significantly; see Windows NT 6 startup process for information about what has changed.

The boot ROM or bootROM is a type of ROM that is used for booting a computer system.

Das U-Boot

Das U-Boot is an open-source, primary boot loader used in embedded devices to package the instructions to boot the device's operating system kernel. It is available for a number of computer architectures, including 68k, ARM, Blackfin, MicroBlaze, MIPS, Nios, SuperH, PPC, RISC-V and x86.

EFI system partition Partition used by Unified Extensible Firmware Interface

The EFIsystem partition or ESP is a partition on a data storage device that is used by computers having the Unified Extensible Firmware Interface (UEFI). When a computer is booted, UEFI firmware loads files stored on the ESP to start installed operating systems and various utilities.

Thinstation is a free and open source Linux implementation of a thin client operating system. It only requires standard PC hardware and can boot directly from the network via PXE or Etherboot from a TFTP server, or from local devices such as Hard disks, CompactFlash drives, USB keyrings, and CD/DVDs. The minimum requirement is an i686 class CPU and RAM dependent on the intended use, typically 64–256 MB.

Network booting, shortened netboot, is the process of booting a computer from a network rather than a local drive. This method of booting can be used by routers, diskless workstations and centrally managed computers such as public computers at libraries and schools.

iPXE is an open-source implementation of the Preboot eXecution Environment (PXE) client software and bootloader, created in 2010 as a fork of gPXE. It can be used to enable computers without built-in PXE capability to boot from the network, or to provide additional features beyond what built-in PXE provides.

References

  1. "about Etherboot/gPXE Wiki".
  2. "Bringing PXE Boot to the 21st Century". Archived from the original on 2012-11-20.
  3. "gPXE is no longer actively maintained. Users should upgrade to iPXE."
  4. Xen ChangeLog showing migration to iPXE because "it is actively maintained"
  5. KVM call minutes showing consideration of migration to iPXE
  6. Google TechTalk demonstrates how to load operating systems from remote servers using gPXE
  7. "Booting your machine over HTTP". Archived from the original on 2010-02-08. Retrieved 2009-12-23.
  8. SliTaz web boot