El gPXE (antes Etherboot) es una implementación de fuente abierta del Preboot Execution Environment (PXE) y cargador de arranque. Puede ser usado para habilitar a los computadores que no tienen soporte para el PXE para que puedan cargar desde la red, o para extender con soporte para protocolos adicionales a una implementación de PXE existente. Mientras que los clientes tradicionales de PXE usan TFTP para transferir datos, el gPXE añade la capacidad de recuperar datos a través de otros protocolos como HTTP, iSCSI y ATA sobre Ethernet (AoE), y puede trabajar con Wi-Fi en vez de requerir una conexión por cable.
Implementación del PXE
El gPXE puede ser cargado por un computador de varias maneras:
- Un medio como disquete, memoria USB, o disco duro.
- Como pseudo núcleo Linux.
- Como imagen ELF.
- Una ROM de arranque en una tarjeta de red o empotrada en un sistema BIOS.
- Sobre una red como imagen de arranque PXE (PXE boot image).
El gPXE implementa su propio apilamiento de PXE, usando un controlador de dispositivo que corresponde a la tarjeta de red o un controlador UNDI en caso de haber sido cargado por el propio PXE. Esto permite usar un apilamiento de PXE incluso si la tarjeta de red no tiene ROM de arranque, al cargar el gPXE desde un medio fijo.
Cargador de arranque
Aunque su papel básico fue el de implementar un stack de PXE, el gPXE puede ser usado como cargador de arranque de red con todas las características. Puede leer (fetch) archivos desde múltiples protocolos de red,[1] tales como TFTP, NFS, HTTP[2] o el FTP, y puede arrancar imágenes PXE, ELF, Linux, FreeBSD, multiboot, EFI y Windows CE.
Además, es scriptable y puede cargar extensiones COMBOOT y COM32 de SYSLINUX. Esto permite por ejemplo construir un menú gráfico para arranque desde la red.