Flashing a DELL BIOS in Ubuntu (or Debian)

June 22, 2010

This is a guide designed for Dell laptops, netbooks, desktop and workstation machines running Debian GNU/Linux and also Ubuntu. I have tested it on a machine running Debian Lenny i386. There are three logical steps: get all the necessary tools in place, extract the actual BIOS image, and apply the image. For Dell servers, the BIOS images provided by Dell are ready to flash from Linux directly, so the method described here should not be needed.

Before starting
The Dell BIOS updates itself by loading the BIOS ROM image into RAM and warm-booting directly into the flashing program. It keeps the BIOS image to be flashed in RAM. Therefore it is important to reboot the machine instead of powering it off when updating the BIOS so as to not lose the contents of RAM.

First things first
Download the BIOS update .EXE file from Dell’s website. Save it somewhere.

Prerequisites
Get a few packages installed: WINE, smbios-utils/libsmbios-bin, and firmware-addon-dell.

For Ubuntu:

sudo apt-get install wine smbios-utils firmware-addon-dell
For Debian:
sudo apt-get install wine libsmbios-bin
Also for Debian, download the firmware-addon-dell package manually from here: http://packages.ubuntu.com/lucid/all/firmware-addon-dell/download and install manually (the version may change and the file name may be different than in the example):
sudo dpkg -i firmware-addon-dell_2.1.0-0ubuntu2_all.deb
Prepare the system
Load the required kernel module:
sudo modprobe dell_rbu
If you haven’t run WINE before, run winecfg and just exit immediately, it will set up your .wine directory and profile:

winecfg
Extract the actual BIOS image from the .EXE with WINE
Where DELLBIOSUPDATE.EXE is the .EXE file downloaded from Dell’s website:

wine DELLBIOSUPDATE.EXE -writehdrfile -nopause
This will leave a .hdr file with the same name as the .EXE file.
Check the BIOS image and flash it
First check the BIOS image to make sure it is good:
dellBiosUpdate -t -f DELLBIOSUPDATE.hdr
Assuming all is well, apply the update:
dellBiosUpdate -u -f DELLBIOSUPDATE.hdr
Finally, reboot, and the BIOS will be flashed to the new version.

Courtesy of: http://www.allurgroceries.com