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
biosext [2008/02/27 21:16]
mdc
biosext [2008/11/19 01:20] (current)
markwarren Link to Coreboot dev't section. Reword to avoid implying that it works with all MBs.
Line 1: Line 1:
 ====== Adding gPXE to BIOSes ====== ====== Adding gPXE to BIOSes ======
  
 +=== Add gPXE to the BIOS of the Jetway J7F2WE family of motherboards (replacing the Intel UNDI PXE code) ===
  
-===== Jetway =====+Jeff Campbell, Turks & Caicos Islands, February 27, 2008
  
-dd gPXE to the BIOS of the Jetway J7F2WE family of motherboards (replacing the Intel UNDI PXE code) +** Note:  This is completely without warranty. ​ It worked for me.  It may not work for you.  It may wreck your system. ​ If you don't know what you're doing, don't do it.  You have no recourse but to blame yourself and sit in the dark rocking in the fetal position if this fails.**
- +
-Jeff Campbell, Turks & Caicos Islands, February 27, 2008+
  
-** Note This is completely without warranty It worked for me It may not work for you It may wreck your system If you don't know what you're doing, don't do it.  ​You have no recourse but to blame yourself ​and sit in the dark rocking in the fetal position if this fails. ​ **+The "​[[http://www.ioss.com.tw/​web/​English/​RD1BIOSSavior.html|RD1 BIOS Savior]]"​ from [[http://​www.ioss.com.tw/​|IOSS]] is a US$30 device that can plug into a motherboard BIOS ROM socket to allow manual switching between two BIOS chips.  ​This allows you to boot from one BIOS ROM and then switch to a second BIOS ROM chip for trial flashing. If the new BIOS fails, you can switch back to the first, unmodified BIOS ROM, and try again (info from [[http://​en.wikipedia.org/​wiki/​LinuxBIOS#​Developing_and_debugging_coreboot|Coreboot]]).
  
 I am currently using a large number of J7F2WE based motherboards for a computing cluster. ​ The machines have no local storage at all, just a 1 GHz Via C7 processor and 1 GB of RAM.  The on-board NIC on the motherboard is based on the VIa Rhine II chipset. ​ My machines also have three more NICs per box, but they don't factor in to getting gPXE loaded. ​ gPXE replaces the Intel PXE code included for the on-board NIC. I am currently using a large number of J7F2WE based motherboards for a computing cluster. ​ The machines have no local storage at all, just a 1 GHz Via C7 processor and 1 GB of RAM.  The on-board NIC on the motherboard is based on the VIa Rhine II chipset. ​ My machines also have three more NICs per box, but they don't factor in to getting gPXE loaded. ​ gPXE replaces the Intel PXE code included for the on-board NIC.
Line 16: Line 15:
 === Make a DOS bootable USB drive === === Make a DOS bootable USB drive ===
  
-We're going to be working with BIOS flashing utilities that run under DOS.  Before you continue you should make a DOS bootable USB key (and ensure you can get it to boot on your system). ​ We'll put various utilities and ROM files on it during this how-to. ​ You can follow my instructions ​here (assuming you have access to a MS Windows machine) to make one:  http://www.etherboot.org/​wiki/​make_usb_drive+We're going to be working with BIOS flashing utilities that run under DOS.  Before you continue you should make a DOS bootable USB key (and ensure you can get it to boot on your system). ​ We'll put various utilities and ROM files on it during this how-to. ​ You can follow my [[make_usb_drive|instructions]] (assuming you have access to a MS Windows machine) to make one.
  
 === Grab the latest BIOS for your board === === Grab the latest BIOS for your board ===
  
-You should be able to find the latest BIOS on the manufacturers website. ​ In my case I'm using A14 of the Jetway BIOS, which I found here: http://​www.jetwaycomputer.com/​VIA2.html+You should be able to find the latest BIOS on the manufacturers website. ​ In my case I'm using A14 of the Jetway BIOS, which I found on the [[http://​www.jetwaycomputer.com/​VIA2.html|Jetway home page]].
  
 I also grabbed the AWFLASH 8.80 utility, which we'll need to backup the existing BIOS and reflash the new gPXE enhanced BIOS. I also grabbed the AWFLASH 8.80 utility, which we'll need to backup the existing BIOS and reflash the new gPXE enhanced BIOS.
Line 28: Line 27:
 === Grab the CBROM utility === === Grab the CBROM utility ===
  
-This is the magic tool that makes it possible. ​ CBROM comes in various flavours, you can read more about it here: http://​www.etherboot.org/​wiki/​biosmodule?s=cbrom+This is the magic tool that makes it possible. ​ CBROM comes in various flavours, you can read more about it [[biosmodule|here]]
  
   * CBROM 1.xx is for Award BIOS 4.5 series only   * CBROM 1.xx is for Award BIOS 4.5 series only
Line 38: Line 37:
 Unzip it and put it on your USB DOS boot disk. Unzip it and put it on your USB DOS boot disk.
  
 +=== Identify your NIC chipset ===
  
-Identify your NIC chipset +(I learned how to do this [[romburning|here]].)
------------------------------------- +
- +
-I learned how to do this here:  http://www.etherboot.org/​wiki/​romburning+
  
 Boot your system in to linux and then run: Boot your system in to linux and then run:
  
-lspci+  ​lspci
  
 Scan the output for your onbaord NIC, mine showed up as: Scan the output for your onbaord NIC, mine showed up as:
  
-root@bops1-cf:​~# lspci +  ​# lspci 
- +    ... 
---snip -- +  00:12.0 Ethernet controller: VIA Technologies,​ Inc. VT6102 [Rhine-II] (rev 78)
-00:12.0 Ethernet controller: VIA Technologies,​ Inc. VT6102 [Rhine-II] (rev 78) +
--- snip --+
  
 To build a gPXE ROM via Rom-o-matic,​ we need to know the vendor and chipset id's. To build a gPXE ROM via Rom-o-matic,​ we need to know the vendor and chipset id's.
Line 60: Line 55:
 Using the infromation from above, lets interogate the PCI device: Using the infromation from above, lets interogate the PCI device:
  
-root@bops1-cf:​~# lspci -n -s 00:12.0 +  ​# lspci -n -s 00:12.0 
-00:12.0 0200: 1106:3065 (rev 78)+    ... 
 +  ​00:12.0 0200: 1106:3065 (rev 78)
  
 Make a note of the vendor and device IDs (1106 and 3065 respectively in the above example). Make a note of the vendor and device IDs (1106 and 3065 respectively in the above example).
  
-It's ROM-o-matic time, baby! +=== It's ROM-o-matic time, baby! ===
-------------------------------------------+
  
-Now that you know your vendor and device ID, cruise on over to http://​rom-o-matic.net/​+Now that you know your vendor and device ID, cruise on over to [[http://​rom-o-matic.net/​|ROM-o-matic]]
  
 This is a wonderful tool that will build the ROM you are going to add to the BIOS. This is a wonderful tool that will build the ROM you are going to add to the BIOS.
  
-We want to use the gPXE generator found here: http://​rom.etherboot.org/​rom/​+We want to use the [[http://​rom.etherboot.org/​rom/​|gPXE generator]].
  
 At the time of writing it was at version 0.9.3. At the time of writing it was at version 0.9.3.
Line 90: Line 85:
 Step four - hit the button, download the ROM to your USB key. Step four - hit the button, download the ROM to your USB key.
  
-Now let's get our hands dirty +=== Now let's get our hands dirty ===
------------------------------------------+
  
 Boot the target machine with your USB DOS boot disk (DO NOT try and do it from a window within your existing OS - that may cause problems). Boot the target machine with your USB DOS boot disk (DO NOT try and do it from a window within your existing OS - that may cause problems).
Line 108: Line 102:
  
 G:​\>​CBROM606.EXE J7F2WA14.BIN /D G:​\>​CBROM606.EXE J7F2WA14.BIN /D
 +
 CBROM V6.06 (C)Award Software 1999 All Rights Reserved. CBROM V6.06 (C)Award Software 1999 All Rights Reserved.
  
Line 139: Line 134:
 Line 8 is what we are interested in.  If you look in the far right column you can see the filename "​PXERPL.LOM"​ which gives us a hint this is the PXE bootloader code.  ​ Line 8 is what we are interested in.  If you look in the far right column you can see the filename "​PXERPL.LOM"​ which gives us a hint this is the PXE bootloader code.  ​
  
-Add the gPXE ROM +=== Add the gPXE ROM ===
------------------------------+
  
 To make life easier, and to ensure I didn't tube my main BIOS file, I created a copy with an easier to type name, in my case I called my copy of J7F2WA14.BIN called gpxe14.bin To make life easier, and to ensure I didn't tube my main BIOS file, I created a copy with an easier to type name, in my case I called my copy of J7F2WA14.BIN called gpxe14.bin
Line 191: Line 185:
 Note line 8!  So it appeared to load.  Now it was time to flash the new updated BIOS file in to the machine. Note line 8!  So it appeared to load.  Now it was time to flash the new updated BIOS file in to the machine.
  
-Flash you new gPXE enhance ​BIOS in to the eeprom +=== Flash your new gPXE enhanced ​BIOS in to the eeprom ​===
------------------------------------------------------------------------------+
  
 Up until this point, we've been playing with files on the USB key, but haven'​t touched your actual BIOS for writing. ​ Now we will. Up until this point, we've been playing with files on the USB key, but haven'​t touched your actual BIOS for writing. ​ Now we will.
  
-I used the awdflash ​utility, following the instructions from the Jetway site, and flashed it with:+I used the AWDFLASH ​utility, following the instructions from the Jetway site, and flashed it with:
  
 AWDFLASH.EXE /​cd/​cp/​ch/​wb/​qi gpxe14.bin AWDFLASH.EXE /​cd/​cp/​ch/​wb/​qi gpxe14.bin

QR Code
QR Code biosext (generated for current page)