Table of Contents
Screenshots
HTTP booting and initramfs assembly
You can boot a Linux kernel directly from a web server using gPXE. The kernel, initial ramdisk and other boot-time files (e.g. kernel modules for the network card) can also be loaded from the same web server. There is no need to create dedicated ramdisk images containing drivers for each network card you want to be able to boot from.
BIOS boot screen, showing gPXE downloading the individual components via HTTP:
Booted Linux OS, with network up and running:
iSCSI booting Windows Server 2003
It is possible to boot Windows Server 2003 from an iSCSI disk using gPXE. This provides a direct replacement for commercial products such as winBoot/i.
Here you can see the Device Manager in Windows Server 2003 showing that the only disk in the system is an “IET VIRTUAL-DISK” attached via iSCSI:
AoE booting Windows XP
Command line
gPXE has a command shell built in, which allows you to interact with the system and run commands even before the DHCP request takes place. You can assign IP addresses, check network interface statistics, manually download files, and so on.
gPXE also supports script files, which are just sequences of commands; a typical script might look something like
#!gpxe kernel http://www.etherboot.org/boot/vmlinuz vga=788 initrd http://www.etherboot.org/boot/initrd.img boot
Configuration UI
gPXE allows you to store settings in the NIC EEPROM. Though most network configuration is handed out via DHCP, it can be useful to be able to store certain information (such as iSCSI login usernames and passwords) on the NIC itself.
A simple configuration user interface is provided: