This is an old revision of the document!


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:

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

SAN-Boot Protocols

gPXE features two SAN-booting technologies:

iSCSI
AoE

Name Resolution Protocols

gPXE features name resolution protocols:

DNS
NMBNot by default

Booting Protocols

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

NBI (Network Boot Image)
ELF
FreeBSD Kernel
Multiboot Specification-Conformant Image
a.out
WinCE
PXE
gPXE Script
Linux bzImage (Kernel)
COMBOOT/COMBOOT32
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:

#!gpxe

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
SAN-Booting

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 prefii are:

ROMFor flashing gPXE onto a chip or as a loadable module from BIOS
PXETODO
KPXEFor loading gPXE from a PXE boot-loader via a network
ELFTODO
ELFDTODO
LMELFTODO
LMELFDTODO
LKRNFor loading gPXE as a pseudo-“Linux Kernel”-format file in a compliant boot-loader (LILO, SYSLINUX, EXTLINUX, ISOLINUX, PXELINUX, GRUB, etc.)
bImageTODO
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
RAWTODO
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)