Dell BIOS Upgrade

Introduction
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.

SMBIOS Method
Make sure you have the needed modules.

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

Fetch BIOS from Dell repository
Now grab your System ID and BIOS Version.

And start poking around Dells repo. Find the entry that matches 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 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, which may help things.

If the first command,

dellBiosUpdate -u -f .hdr

doesen't work, then try this:

dellBiosUpdate-compat -u -f .hdr

Biosdisk Method
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