Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Last revision Both sides next revision
howto:romburning [2013/10/27 17:12]
sha0
howto:romburning [2013/10/27 22:51]
stefanct lspci -nn and flashrom ftw!
Line 5: Line 5:
 {{ :​clipart:​nic.jpeg?​237x222|A network card}} {{ :​clipart:​nic.jpeg?​237x222|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 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".  If there is no such entry in the boot menu nor the BIOS configuration menu and iPXE is not booted automatically you may have to use the NONPNP_HOOK_INT19 build-time option.
  
 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. 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.
Line 13: Line 13:
 ===== Building the ROM image ===== ===== 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''​:+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.  ​You can use ''​lspci -nn'' ​to find the relevant IDs of your network card:
  
-    [root@machine ~]# lspci +    [user@machine ~]# lspci -nn 
-    00:00.0 Host bridge: Intel Corporation ​4 Series Chipset DRAM Controller +    00:00.0 Host bridge ​[0600]: Intel Corporation ​440BX/ZX/DX - 82443BX/​ZX/​DX Host bridge [8086:7190] (rev 03) 
-    00:02.0 VGA controller: Intel Chipset Integrated Graphics Controller+    00:01.0 PCI bridge [0604]: Intel Corporation 440BX/ZX/DX - 82443BX/​ZX/​DX AGP bridge [8086:7191] (rev 03)
     ...     ...
-    00:19.0 Ethernet controller: ​Intel 82567LM-3 Gigabit Network Connection +    00:0d.0 Ethernet controller ​[0200]3Com Corporation 3c900B-TPO Etherlink XL [Cyclone] [10b7:9004] (rev 04) 
-    ^^^^^^^ +                                                                                           /^^^^^^^^^ 
-           \_ this is the PCI bus:device.fn address+                                                    this is the PCI vendor and device ​ID _/
     ...     ...
  
-and then discover the vendor and device IDs of your network card using ''​lspci -n'':​ 
  
-    [root@machine ~]# lspci -n -s 00:19.0 +In this example, we see that the PCI vendor ID is **10b7** and the PCI device ID is **9004**.  You can now build an iPXE ROM for your network card using:
-    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     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:+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 **10b7** and a PCI device ID of **9004**, you would use:
  
-    make bin/808610de.rom+    make bin/10b79004.rom
  
-Make a note of the ROM image file (**bin/808610de.rom** in the above example).+Make a note of the ROM image file (**bin/10b79004.rom** in the above example).
  
 ===== Burning the image into ROM ===== ===== Burning the image into ROM =====
Line 45: Line 39:
 {{ :​clipart:​bootrom.jpeg?​120x96|An expansion ROM}} {{ :​clipart:​bootrom.jpeg?​120x96|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:+To burn the image file into flash, you will need to use a utility ​that supports ​your network card specifically.  ​Usually vendors provide such a tool (often a DOS executable only) for their cards. ​ You might also consider the use of [[http://​www.flashrom.org/​|flashrom]],​ which is a generic flashing utility for a wide variety of cards and chips. It is described in more detail[[:​howto:​romburning:​flashrom|here]]. 
 + 
 + ​Individual instructions ​are available for:
  
   * [[:​howto:​romburning:​intel|Most Intel adapters]]   * [[:​howto:​romburning:​intel|Most Intel adapters]]
Line 51: Line 47:
   * [[:​howto:​vmware|VMware virtual adapters]]   * [[:​howto:​vmware|VMware virtual adapters]]
  
-You might also consider the use of [[http://​www.flashrom.org/​|Flashrom]],​ which is a generic ROM flashing utility for a wide variety of chips. 
howto/romburning.txt · Last modified: 2013/10/27 22:52 by stefanct
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.