Dell BIOS Upgrade
Contents |
[edit] 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.
[edit] SMBIOS Method
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.
Existing Service Tag: F1C9KB1
If you got something that looks vaguely like the previous line you may contiune, if not you probably need the #Biosdisk Method
[edit] Fetch BIOS from Dell repository
Now grab your System ID and BIOS Version.
Libsmbios: 2.2.19 System ID: 0x01BD Service Tag: F1C9KB1 Express Service Code: 32732802829 Product Name: MM061 BIOS Version: A17 Vendor: Dell Inc. Is Dell: 1
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.
[edit] 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.
[edit] 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.
MM061A17.exe MM061A17.hdr
if this doesn't work try this command
MM061A17.exe MM061A17.hdr
[edit] Stage BIOS update
Make sure your plugged into AC and your battery is installed, then have at it.
Supported RBU type for this system: (MONOLITHIC) Using RBU v2 driver. Initializing Driver. Setting RBU type in v2 driver to: MONOLITHIC Prep driver for data load. Writing RBU data (4096bytes/dot): ..................................................--SNIP-- Update staged sucessfully. BIOS update will occur on next reboot.
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
[edit] 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.
... title Dell Bios update A17 root (hd0,0) kernel /memdisk initrd /MM061A17.img ...
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
[edit] Authors
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".