This is an old revision of the document!


A PCRE internal error occured. This might be caused by a faulty plugin

====== Burning gPXE into Broadcom BCM57xx based cards ====== <referback>This page is part of the [[:romburning|ROM-burning]] tutorial.</referback> Various manufacturers supply their own flash utilites, unfortuantly these do not appear to work correctly with etherboot, and due to this, we require the Broadcom "diagnostic" utility set. ===== Obtaining the ROM image ===== In order to build the rom for my HP card the PCI id had to be added to src/drivers/net/tg3.c PCI_ROM(0x0e11, 0x00ca, "tg3-hp", "tg3 HP"), The above was added to tg3.c and the rom made with the following command make bin/tg3-hp.rom ===== Preparing the tools ===== Now that we have the image, I would suggest copying this to media that will be accessable from FreeDOS (such as a FAT formated USB Drive) Once we have the rom saved else where we need to obtain the Broadcom Diagnostic utility * FreeDOS with BRCM570x diagnostitcs utility, [[http://www.broadcom.com/support/ethernet_nic/driver-sla.php?driver=570x-diag]] Burn this image to CD using your favourite CD burning method ===== Burning the gPXE ROM ===== Boot from the CD selecting option 1. At the next prompt choose the "Install to HD using FD setup" option, please note this won't actually install to your HDD without more confirmation At the next screen, choose your language, and then select "Run FreeDOS from CD ROM (return to command prompt)" You should now have an X:\ prompt From here change your current working directory to X:\B57UDIAG\ From here you will want to execute the following command B67UDIAG.exe -ver You should see something like X:\B57UDIAG\>b57diag.exe -ver **************** Copyright notice *************** C Brd:Rv Bus PCI Spd Base Irq EEP MAC Fmw Configuration ---------------------------------------------------------------------------------------------------------------------- 0 5703:B0 05:04:0 32 33 FC50 11 128K 012345567810 5703-v.235 WMp,auto This shows the list of broadcom cards in the machine. We in this case have only the one card. We want to check the current payload in the card, so we need to run the following X:\B57UDIAG\>b57diag.exe -c 0 -dir **************** Copyright notice *************** C Brd:Rv Bus PCI Spd Base Irq EEP MAC Fmw Configuration ---------------------------------------------------------------------------------------------------------------------- 0 5703:B0 05:04:0 32 33 FC50 11 128K 012345567810 5703-v.235 WMp,auto 0 5703:B0 05:04:0 32 33 FC50 11 128K 012345567810 5703-v.235 WMp,auto Entry Type SRAM Addr EEP Offset Length Execute Version Bootcode 08003000 00000200 00001860 CPUE(2) 5703-v2.35 0 PXE 00010000 00001A60 0000EA04 no v73.67.80 This lists the current NRAM filesystem on the card. Please note the PXE rom on this card is already a gPXE rom, however the same process holds true for replacing the rom In order to burn the rom we need to run the following A:\>b57diag.exe -c 0 -pxe c:\tg3-hp.rom **************** Copyright notice *************** C Brd:Rv Bus PCI Spd Base Irq EEP MAC Fmw Configuration ---------------------------------------------------------------------------------------------------------------------- 0 5703:B0 05:04:0 32 33 FC50 11 128K 012345567810 5703-v.235 WMp,auto 0 5703:B0 05:04:0 32 33 FC50 11 128K 012345567810 5703-v.235 WMp,auto Updating PCI Rom Header with Vendor ID = 0x14e4 Device ID = 0x16c7 Updating PXE-UNDI16 code (length = 59908 bytes ) ... Programing 59908 bytes to NVRAM offset 00001A60 <counter that ends at 59908 for my rom> Updating Directory code len = 0000ea04 sram_start_address = 00010000 code_start_address = 00001a60 Reading current NVRAM ... OK Programing... 512 Totally 1 card(s) has been programmed Reboot the machine and enter the BIOS setup. You should see gPXE show up as an option in your BIOS's boot selection menu. Congratulations on successfully burning gPXE into your network card!


QR Code
QR Code romburning:tg3 (generated for current page)