For a permanent deployment of gPXE, you can burn it into your network card's expansion ROM, as a replacement for the card's legacy PXE ROM. Most modern network cards store their expansion ROMs in flash memory, and most manufacturers will provide a utility to allow you to update the expansion ROM.
The gPXE ROM will show up as a boot device in the BIOS boot menu. Some BIOSes do not show specific devices in the boot menu, but instead show a generic option such as “Boot from LAN”.
The gPXE ROM will become a permanent fixture of your network card; if you move the card to another machine then the gPXE ROM will be available in the new machine.
Network card Original Equipment Manufacturers (OEMs) can burn gPXE into their cards at the point of manufacture. There are no licensing fees for providing cards containing gPXE ROMs, but please be aware that you must comply with gPXE's GPL license terms.
To build a ROM image for your network card, you need to know the PCI vendor and device IDs for your card. The BIOS may check the PCI IDs embedded within the ROM image against the PCI IDs of the card; if they do not match then some BIOSes will ignore the ROM.
You can identify your card's PCI IDs using a tool such as lspci:
[root@localhost]# lspci 00:00.0 Host bridge: Intel 82865G/PE/P DRAM Controller 00:01.0 PCI bridge: Intel 82865G/PE/P AGP Controller 00:1d.0 USB Controller: Intel 82801EB/ER USB UHCI Controller 00:1d.1 USB Controller: Intel 82801EB/ER USB UHCI Controller 00:1e.0 PCI bridge: Intel 82801 PCI Bridge 01:00.0 VGA compatible controller: ATI Radeon RV100 02:00.0 Ethernet controller: D-Link System Inc DGE-528T
In this example, the network card is the last line of output, with the PCI bus:dev.fn number 02:00.0. To find the PCI vendor and device ID, use
lspci -n -s 02:00.0
where 02:00.0 is the PCI bus:dev.fn number corresponding to your network card. You should see something like
[root@localhost]# lspci -n -s 02:00.0 02:00.0 Class 0200: 1186:4300 (rev 10)
Make a note of the vendor and device IDs (1186 and 4300 respectively in the above example).
Download gPXE and build a ROM image:
cd gpxe/src make bin/11864300.rom
where 1186 and 4300 are the PCI vendor and device IDs for your network card. Make a note of the ROM image file (bin/11864300.rom in the above example).
To burn the image file into ROM, you will need to use a utility specific to your network card. Instructions are available for: