Windows became a de facto environment for BIOS update
Windows became quite popular and pre-dominant in PCs market … As a result, it became de facto standard that you will update the BIOS of PC using Windows as well. However, that is not the way to go for people who are using Linux (e.g. Debian, Ubuntu or other).
So, Linux guys wrote their own utilities to deal with BIOS update from Linux environment.
Checking BIOS version etc.
I was setting one old Dell Dimension 5150 for some tests and I realized that the BIOS was not updated for ages on that PC 🙂
Basically, there are few Linux commands to handle BIOS.
In order to make sure that they will work, you can install smbios-utils:
sudo apt-get install smbios-utils
The first of those commands is dmidecode. After I issued the following command:
sudo dmidecode -s bios-version
it returned me:
Another alternative to the command dmidecode is GetSystemId, which returned me:
A02 Dell 5150
In both cases, the meaning is the same: outdated version A02 of the BIOS 😉
DELL BIOS update file for Linux
Dell officially stopped to provide the BIOS update files for Linux a few years ago. Therefore, there is only one option to produce it yourself.
Unfortunately, you will need a Windows-based PC to create such BIOS file.
After downloading DELL bios update file from their support site, you should open Windows command prompt, go to your folder with the update and enter the commands:
You will get such popup saying that HDR file was successfully created:
Updating BIOS under Linux
Next, you need to write earlier created hdr file to usb flash and copy to some place (e.g. Documents) on your Linux machine. Another step includes activating dell_rbu daemon, which will be used to update DELL bios:
sudo modprobe dell_rbu
You will update your Dell system BIOS with such command:
sudo dellBiosUpdate -u -f D5150A07.hdr
It responded on my system with:
Attempting BIOS update, please wait Update successful.
Right now, you will have to reboot your system.
After the system is back, I used getSystemId to check if the BIOS version changed:
Libsmbios version: 2.2.28 Product Name: Dell DM051 Vendor: Dell Inc. BIOS Version: A07 System ID: 0x01DZ Service Tag: JWS2AAA Express Service Code: 433340905AAA Asset Tag: Property Ownership Tag:
That’s was a Linux way of updating BIOS on Dell machine 😉
Does it still work on new Dell systems?
Are you wondering if all that is works on brand new Dells? Well, I do not own a brand new Dell, so I cannot repeat the whole process. However I can try at least to check if the BIOS extraction switches are still valid and to extract HDR file for a new system 😉
I went to Amazon.co.uk and found Dell OptiPlex 3020 (2GHz 8GB 500GB WLAN Windows 7 Pro 64-bit/Windows 8.1). Dell’s support website showed the latest BIOS Version A03 (file O3020A03.exe), which I downloaded and repeated the HDR file extraction steps.
Here is a result of issuing:
It appeared that this switch ‘/writehdrfile’ does not work anymore on newer Dell systems, after Dell discontinued support for Linux.
Googling did not bring any results, except that some Linux users were struggling to update their Dell systems BIOS without Windows as well … 🙁