This is an old revision of the document!


Burning iPXE into ROM

For a permanent deployment of iPXE, 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 reflash the expansion ROM.

A network card

The iPXE 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 iPXE ROM will become a permanent fixture of your network card; if you move the card to another machine then the iPXE ROM will be available in the new machine.

Network card Original Equipment Manufacturers (OEMs) can burn iPXE into their cards at the point of manufacture. There are no licensing fees for providing cards containing iPXE ROMs, but please be aware that you must comply with iPXE's GPL license terms. The easiest way to do this is by publishing your tree on http://git.ipxe.org, including any code or configuration changes that you make. To arrange to publish your tree in this way, please contact vendor-support@ipxe.org.

Building the ROM image

You will need to build an iPXE ROM image for your specific network card. For this, you need to know the relevant PCI vendor and device IDs. First, identify the PCI bus:device.fn address of your network card using lspci:

  [root@machine ~]# lspci
  00:00.0 Host bridge: Intel Corporation 4 Series Chipset DRAM Controller
  00:02.0 VGA controller: Intel Chipset Integrated Graphics Controller
  ...
  00:19.0 Ethernet controller: Intel 82567LM-3 Gigabit Network Connection
  ^^^^^^^
         \_ this is the PCI bus:device.fn address
  ...

and then discover the vendor and device IDs of your network card using lspci -n:

  [root@machine ~]# lspci -n -s 00:19.0
  00:19.0 0200: 8086:10de (rev 02)
                ^^^^^^^^^
                         \_ these are the vendor and device IDs

In this example, we see that the PCI vendor ID is 8086 and the PCI device ID is 10de. You can now build an iPXE ROM for your network card using:

  make bin/vvvvdddd.rom

where vvvv and dddd are the PCI vendor and device IDs of your network card. For the above example, with a PCI vendor ID of 8086 and a PCI device ID of 10de, you would use:

  make bin/808610de.rom

Make a note of the ROM image file (bin/808610de.rom in the above example).

Burning the image into ROM

An expansion ROM

To burn the image file into ROM, you will need to use a utility specific to your network card. Instructions are available for:

You might also consider the use of flashrom, which is a generic flashing utility for a wide variety of chips.

howto/romburning.1382894103.txt.gz · Last modified: 2013/10/27 17:15 by sha0
Recent changes RSS feed CC Attribution-Share Alike 4.0 International Driven by DokuWiki
All uses of this content must include an attribution to the iPXE project and the URL https://ipxe.org
References to "iPXE" may not be altered or removed.