BIOS Update Process using libsmbios dellBiosUpdate
This article describes how to update your Dell computer's system BIOS using exclusively Linux tools. It uses Libsmbios, a generic Linux software package. You will need to install it before you start. It is assumed throughout this page that all commands will be run as the 'root' user. Use either 'sudo' or 'su' to become root before attempting any of these commands or they will fail.
- Install libsmbios
# apt-get update (not always necessary) # apt-get install libsmbios-bin
- Get the System ID
# getSystemId Libsmbios: 0.12.1 System ID: 0x01DD Service Tag: DT6WLB1 Express Service Code: 30063287773 Product Name: Dell DM061 BIOS Version: 2.3.2 Vendor: Dell Inc. Is Dell: 1
- Download the latest BIOS ".HDR" file for this system. Go here: http://linux.dell.com/repo/firmware/bios-hdrs/. Scroll down the list to find a directory matching the System ID from the previous step. The directory will be named: system_bios_ven_0x1028_dev_SYSTEM_ID_version_BIOS_VERSION. Go into this directory and download the file, "bios.hdr".
- load the dell_rbu driver
# modprobe dell_rbu
- update the bios
# dellBiosUpdate -u -f ./bios.hdr-2.3.2 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): ............................ .............................................................. ....................... Notify driver data is finished. Activate CMOS bit to notify BIOS that update is ready on next boot. Update staged sucessfully. BIOS update will occur on next reboot.
- reboot the system
There are two common problems that you may run into when following this process:
Problem: You follow all the instructions above, everything says it worked, but BIOS doesnt update. Solution: Normally, this is because the kernel is doing a "cold boot", which messes up the update process. Tell the kernel to do a warm reboot by adding "reboot=bios" to the end of your kernel command line. Reboot to let that setting take effect, and then try the bios update again.
Problem: You get a message from dellBiosUpdate saying it could not allocate enough memory. Solution: Some systems require up to 2MB of contiguous *physical* memory, which can sometimes be in short supply, especially if the system has been running for a while. You may have to reboot your system a couple times and retry the update for it to take.