This procedure describes how to flash BIOS on a client node (e.g., compute node or viz tile node) by using the Rocks command line and PXE.
First, you must add the BIOS flashing files (e.g., a DOS-based flash utility, .bin file or an autoexec.bat) to the directory /opt/pxeflash/addon.
As an example, to flash a Dell Dimension E521 desktop, we executed:
# cd /opt/pxeflash/addon # wget http://ftp.us.dell.com/bios/DME521-010111.EXE
To add the BIOS flashing file to a bootable floppy image, execute:
# cd /opt/pxeflash # make build
This will incorporate all files in the /opt/pxeflash/addon directory into a floppy image named pxeflash-FDSTD.288.
Now copy the floppy image into /tftpboot/pxelinux/pxeflash, by executing:
# make install
Set a client node to PXE boot your flash image:
# rocks set host runaction <hostname> action=pxeflash # rocks set host boot <hostname> action=run
PXE boot the client node. After the client boots, it will display a DOS prompt.
On the client, execute the BIOS flash program.
In our example, we executed the program DME521-010111.EXE.
When the BIOS flash program completes and before you reboot the client, on the frontend, reset the PXE action so when the client reboots, it will boot the OS from local disk:
# rocks set host runaction <hostname> action=os # rocks set host boot <hostname> action=os
When the flash process completes, reboot the client node.
Important Acknowledgement: We are grateful for the contribution of Jeremy Lawrence for describing the basic approach in his Rocks discussion list posting https://lists.sdsc.edu/pipermail/npaci-rocks-discussion/2005-June/012092.html.