Since I’ve opted to give up Windows entirely, I’ve lost quite a few of the ‘not-quite-necessities’ I once had. One of those things was the ability to update the microcode within my computer to support updates and fixes. Well, no more! Thank you, Dell.
Below is a small tutorial on how to use prebuilt packages in Ubuntu Feisty Fawn, but should work 100% with Debian Etch, my laptop’s former OS.
Note that when I prepend a line with a ‘%’, that means you open a terinal and do it at the prompt; yours may look different. That’s fine. Everything should just work. This MAY NOT WORK IF YOU KILLED YOUR DELL BIOS SUPPORT PARTITION; YOU HAVE BEEN WARNED! :)
First of all, you’ll need to install the smbios support libraries; these are available within the Ubuntu repositories:
%sudo apt-get install libsmbiosxml1 libsmbios-bin libsmbios1
Next, you’re going to need the firmware-tools and firmware-addon-dell packages. I’ve built my own from Dell’s etch build sources. These are for IA32, if you need x64, that’s a directory up, and sorry, I can’t offer those, I do not have an x64 installation to test with.
You may use my i386 builds if you wish, I’ve signed my debs, you can check them with dpkg-sig:
%wget http://www.holwegner.com/files/firmware-addon-dell_1.2.13-1_i386.deb %wget http://www.holwegner.com/files/firmware-tools_1.2.6-1_all.deb
You can get my key and add it to your keyring:
%gpg --keyserver wwwkeys.eu.pgp.net --recv-keys F8C314E3 gpg: requesting key F8C314E3 from hkp server wwwkeys.eu.pgp.net gpg: key F8C314E3: public key "Shawn Holwegner (GPG Signing Key) <me@mydomain.com>" imported (edited to thwart spambots) %gpg --armor --export F8C314E3 | sudo apt-key add - OK
Now, you can check my signature; I’ve tagged both as ‘feisty’ (Note that I have left the response of GPG here so you can ensure they match):
%dpkg-sig -c firmware-addon-dell_1.2.13-1_i386.deb Processing firmware-addon-dell_1.2.13-1_i386.deb... GOODSIG _gpgfeisty 743D4D271144FB13C788D9F3B4B33515F8C314E3 1181453286 %dpkg-sig -c firmware-tools_1.2.6-1_all.deb Processing firmware-tools_1.2.6-1_all.deb... GOODSIG _gpgfeisty 743D4D271144FB13C788D9F3B4B33515F8C314E3 1181453298
Now, if you trust me, install them:
%sudo dpkg -i firmware-tools_1.2.6-1_all.deb firmware-addon-dell_1.2.13-1_i386.deb
Find out your system ID. Note that this is the area in bold:
%sudo getSystemId Libsmbios: 0.12.1 System ID: 0x01BD Service Tag: 6H5GMB1 Express Service Code: 14097792493 Product Name: MM061 BIOS Version: A11 Vendor: Dell Inc. Is Dell: 1
Go to http://linux.dell.com/repo/software/bios-hdrs/ and find your system, the directory will be something awfully messy, like system_bios_ven_0×1028_dev_SYSTEM_ID_version_THE_BIOS_VERSION. In the case of my Inspiron 6400, mine was: system_bios_ven_0×1028_dev_0×01bd_version_a15 for my System ID of 0×01BD and BIOS version A15.
Download the “bios.hdr” file from that directory.
%wget http://where/your/bios/is/bios.hdr
Load the “dell_rbu” support module into the kernel:
%sudo modprobe dell_rbu
Finally, flash the BIOS:
%sudo dellBiosUpdate -u -f ./bios.hdr 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.
Now, when you reboot, the system will flash to the BIOS you’ve downloaded, and reboot. Enjoy your new BIOS, I’m enjoying the microcode updates in A15 as I type this! ;)