What Is gPXE? in Brief

gPXE is a boot-loader: a program that allows your computer to load either another boot-loader or your Operating System. gPXE, however, is a very special kind of boot-loader that allows the computer to boot via a network, rather than a disk. gPXE is the direct descendant of Etherboot; both are part of the Etherboot project, though Etherboot is no longer maintained.

Download Protocols

gPXE features several download protocols:

NFSNot by default
HTTPSNot by default
FTPNot by default
TFTMNot by default
SLAMNot by default
FSPNot by default

SAN-Boot Protocols

gPXE features two SAN-booting technologies:


Name Resolution Protocols

gPXE features name resolution protocols:

NMBNot by default

Booting Protocols

gPXE is a boot-loader that is capable of booting programs of several different formats:

NBI (Network Boot Image)
FreeBSD Kernel
Multiboot Specification-Conformant Image
gPXE Script
Linux bzImage (Kernel)
COMBOOT/COM32 Not COM32R (Syslinux v4.00+); Use Syslinux 3.86
EFIOnly Applicable on EFI Platform

gPXE Shell

gPXE has a command-line interface (CLI), also called a shell, which allows you some manual control over what gPXE does. Shell commands can be grouped together, one per line, into a file called a script. In order for a script to be recognized by gPXE as a bootable image, you must put the following as the first line in the script:


Some of the command categories are:

Automatic Booting
Non-Volatile Option Storage (NVO)
Option Configuration
Network Interface Management
Network Routing Table Management
Bootable Image Management
DHCP Configuration

gPXE Formats

The Prefix

In order to allow a variety of methods for loading and running gPXE, the core of the program is prefixed by another program which is specific to a particular booting scenario or bootable media. These different prefices are:

ROMFor flashing gPXE onto a chip or as a loadable module from BIOS
KPXEFor loading gPXE from a PXE boot-loader via a network
LKRNFor loading gPXE as a pseudo-“Linux Kernel”-format file in a compliant boot-loader (LILO, SYSLINUX, EXTLINUX, ISOLINUX, PXELINUX, GRUB, etc.)
DSKFor loading gPXE from a floppy disk with no filesystem on it
NBIFor loading gPXE from a PXE boot-loader via a network
HDFor loading gPXE from a hard disk drive with no filesystem(s) on it
COMFor loading gPXE from a DOS prompt (Jan-7-2009: Broken)
EXEFor loading gPXE from a DOS prompt (Jan-7-2009: Broken)

Each of these different formats for gPXE are available as compressed or uncompressed.

The Drivers

gPXE can be compiled to contain network interface drivers in three different ways:

A Single Network Interface Drivermake bin/eepro100.lkrn; make bin/VVVVDDDD.lkrn
All Network Interface Driversmake bin/gpxe.lkrn
A Single Driver that Uses the Network Interface's Built-In UNDImake bin/undionly.lkrn

QR Code
QR Code concepts (generated for current page)