Dell BIOS Upgrade
Dell releases a new BIOS for a chassis fairly frequently and it is often the case that you don't have a floppy, bootable USB disk, or even local access to the machine. Dell has worked to get the proper interfaces into the mainline kernel to simplify safe BIOS updates from inside a running Linux system. Dell also provides a simple offline method for updating the BIOS as well.
Make sure you have the needed modules.
|Linux Kernel Configuration: 2.6.28+|
Firmware Drivers ---> <M> BIOS update support for DELL systems via sysfs <M> Dell Systems Management Base Driver [*] Export DMI identification via sysfs to userspace
Install libsmbios and test for compatible desktop/laptop/server/motherboard.
If you got something that looks vaguely like the previous line you may contiune, if not you probably need the #Biosdisk Method
Fetch BIOS from Dell repository
Now grab your System ID and BIOS Version.
And start poking around Dells repo. Find the entry that matches system_bios_ven_0x1028_dev_SYSTEM_ID_version_BIOS_VERSION and download the HDR from the BIOS_VERSION you want to update too.
Extract BIOS from Linux version of the upgrade file
Alternatively you can download the Linux version of the upgrade (.BIN) from the standard support website by selecting OS type Redhat, and extract the HDR from it.
The HDR will be in to_dir/payload.
Extract BIOS from windows executable
Alternatively you can download the Windows .exe from the standard support website and extract the HDR from it. Sometimes this can yeild a newer bios version then the repo.
if this doesn't work try this command
Stage BIOS update
Make sure your plugged into AC and your battery is installed, then have at it.
If all went smoothly you can now reboot, leave the adapter connected until the upgrade is complete and you are back in linux. Upon reboot if the BIOS complains of an incorrect checksum and fails, run the dellBiosUpdate tool again and see whether it's using packet updating, or monolithic. If it's the former, you can try forcing it to use the latter via --force_mono, which may help things.
If the first command,
dellBiosUpdate -u -f <your driver>.hdr
doesen't work, then try this:
dellBiosUpdate-compat -u -f <your driver>.hdr
Download the Windows .exe from the standard support website. In this case MM061A17.exe. Copy memdisk of the syslinux package to /boot
Create a boot image
This will copy the image to /boot. Now update your boot loader.
Make sure your plugged into AC and your battery is installed, you can now reboot. Leave the adapter connected until the upgrade is complete and your back in linux. If all went smoothly you can use the biosdisk uninstall command to remove the image and clean up grub.conf
Originally written by: Weedy - 28.01.2009
Edited by: klandreth - 02.03.2009
Authors are people who have worked on this document and have made significant changes to its content. If you have edited this article and wish to add yourself to the authors list please read "Who are Authors".