Tuesday, July 7, 2009

Updating bios and/or firmware on Dell servers running Debian or any unsupported OS

These instructions will help you update BIOS, BMC, PERC or any other system firmware on your Dell system running any supported or unsupported OS.

I finally got around to updating our servers to Debian Lenny. We have 1850's and 2850's. After lots of trial and error I figured out how to go about updating the bios and various device firmware without a Dell supported Linux environment installed on the server. You should note that instructions below still require basic Linux experience. Another note is that these instructions are OS agnostic and use a livecd which doesn't care what operating system you actually have installed on the machine itself.

The first step is running the Dell Content Manager to create a custom update repository for your severs. The fun part is actually getting your hands on the thing. You will need to download the Dell Systems Build and Update Utility. I should note that I wasn't able to get the download to work until I tried with a MS Windows desktop. When/If you are prompted for a Service Tag, just enter one for one of your own servers.

Once the ISO is downloaded you'll need to mount/copy or extract the 'contentmanager' directory onto your desktop. Assuming you are moving forward with the Windows desktop route you'll want to run the 'win\wincontent.exe' (there is also a 'lin\lincontent.tar' if you want to try that, I didn't). Now go find the new directory that was created. Edit the content.ini and change the 'ftp://' url to 'http://'. After you save that, run the 'contentmanager.exe'. Select 'Create Custom Server Update Utility' and 'Next.' Click 'Browse' and select a directory to dump this repository and click 'Next.' Wait for the program to download some meta-data and then un-check 'Windows' (leaving 'Linux' checked). Now control-click all the server models you need to upgrade and click 'Next.' Go get a soda and let it download everything. Once you've got your 'CustomRepository' go into the 'repository/sysman' directory and edit the .XML files in that directory with your favorite editor and look for the 'path=' attribute(s) (one for each system type). You'll see something like 'path="sysman\..."' change the slash to a '/' so it'll look like 'path="sysman/...". Save your changes and copy the contents (not the directory itself) of the 'CustomRepository' to the root of a FAT32 formatted usbkey.

Now you need to download the OpenManage Server Administrator. Burn it to a CD and then boot it in one of the servers you want to upgrade. Let it boot up all the way (this can take several minutes while network connectivity times out etc. and you answer a couple questions) and once you login as root you need to insert the usbkey. Mount it (you can check 'dmesg' output for the device and it'll be the first partition on there) with something like 'mkdir /media/disk; mount /dev/sdb1 /media/disk -o ro'. Change directory into '/media/disk' and run the following './suu -u'. Wait for it to analyze your system and update your system to the newest bios and firmwares. You'll probably see some notifications from snmpd and other stuff, they can be ignored. After you've completed all the updates type 'reboot'. Do not power down your system, some of the updates need the system to be rebooted to complete (such as BIOS updates).

You should now have up-to-date hardware bios/firmwares for your server. I should point out that under the Drivers section for your Service Tag on Dell's site you might also see something about 'SCSI Drives' firmware update. If you are using SCSI drives in your system you might want to get these out of the way as well. There is a Windows .exe you can download which will create a floppy or ISO image which you can boot in your server to update the drive firmware.

I hope this helps out, this was the simplest solution I could find given my environment (no DVD drives, no network connectivity, and the livecd not supporting X on the 1850's). Good luck! :)

No comments:

Post a Comment