Recently the boss asked me to update few firmwares (Bios, network card, controller..) on a old Dell PowerEdge 1950 + PERC 5i running an unsupported OS; Dell usually provides server's firmware updates only for Windows, RedHat and Suse Linux.
What is the best way to update firmwares when runnin' an unsupported OS?
Centos Live is a good way to go; CS Live doesn't need HD installation (you can simply run the OS from DVD) and is very similar to RedHat which is one of Dell's supported OS.
Not so simple..
Dell's firmware's installation binaries have their dependencies (they need particular libraries and utilities in order to run properly) and finding the needed packages is a tedious task because fail messages are rough and misleading.
CS Live starts with a minimal number of utilities and you have to install the lacking packages in order to run firmware's updates properly.
The solution
This solution applies to Centos Live x64 running on a x86 64bit architecture.
Prerequisites:
- you have a basic linux's knowledge (I'm not going to explain how to mount a usb pen or how to copy a file, Google is your friend)
- your server's NIC is connected to the network
- your network runs a DHCP service or you know Linux's network basics (setting static IP)
- you have Centos Live(x64) CD/DVD
- you have a USB pendrive
- you own a big monkey wrench
Procedure:
- Download the RedHat compatible server's firmware updates from Dell's support site
- Uncompress the firmware's archives when needed and copy the firmware's installers (usually .sh or *.bin files) into your USB pendrive.
- Insert CS Live CD and restart your server
- Usually press F12 at boot ("boot menu") in order to start CS Live
- Start CS with the most common settings
- Verify network connettivity (ping google or browse something with firefox)
- Start a linux's terminal console
- Let's go superuser (from console use the su command, no password is needed)
- Let's install the lacking packages, from console: yum install libxml2 compat-libstdc++-33.i386 procmail elfutils glibc.i686
- Insert and mount the USB pendrive
- From console: cd /path_to_usb_device/
- execute the firmware's updates/binaries by following Dell's specific instructions from support site.
- reboot the server ( it's quite easy using CS desktop manager or from console: reboot )
"Les jeux son faits"
Conclusion
This post is a bare guideline.
My procedure applies to PE1950's (bios, network card... and PERC 5i) firmware's binaries and
I suppose it should work for other models as well.
Package's names may change in the future but you should use yum search search_pattern in order to find the correct names.
Firmware's updates are dangerous and I'm not responsible of any problem or damage; you are following this procedure at YOUR OWN RISK.
Have fun :-)
Recovery
In case you have broken your valuable server, the big monkey wrench is the final rollback tool. Let's hit your servers with the monkey wrench harder and harder; this isn't going to fix them, but you'll feel better for sure.
FAQ
Q:What about using x32 distro?
A:Don't know.. I haven't tried yet...