The Easiest Way To Update A Dell Server’s Firmware

With the advent of VMware ESXi there are fewer and fewer good ways to update your Dell PowerEdge system’s firmware, seeing as you can’t just run the System Update Utility from the console OS anymore. Making things more difficult, I think I’ve seen every failure mode Dell’s iDRAC has to offer, from the inability to log into a local repository via FTP when the password has special characters to persistent errors like “Return code mismatch on iDracWrapper.efi” that completely block the updating process.

My journey might have been full of pain and thoughts of other vendors but it’s yielded what I think is the single best way of updating Dell firmware: using the Dell Repository Manager to create a bootable, Linux-based ISO I can use with my KVM-over-IP system’s virtual media (or the iDRAC virtual console, or as an actual, old-fashioned DVD). This way you don’t need the Dell stack of kludgy OpenManage software, don’t need to endure the hours of waiting for the iDRAC’s Unified Server Configurator to do a platform update, and you have an excellent shot at success.

Here’s how to use the Dell Repository Manager to create a bootable DVD:

1. Get the Dell Repository Manager (for servers, if you are given a choice). Install it.

2. Start it up and “Add” (near the top left) a repository. “Create New Repository” and give it a name. Choose “(Server) ftp.dell.com” as the source repository, though you can certainly choose a local copy of the SUU repository directory if you have one. Whatever you pick needs to have the Linux updates in it.

3. The next screens will help you narrow down what you want to maintain for relevant updates. Choose the form factor of the servers you are working with — for me that’s “Rack mount” and I unchecked “Tower” and “Blade chassis.” Click “next.”

4. Pick “Linux” for the OS (you can go back and create a new repository later if you like this tool), then move on and select the server models you are dealing with.

5. I chose “ONLY include most recent and custom bundle(s)” because I didn’t see the point in downloading old stuff. On the next screen I said “No” to including additional components in the repository.

The additional components are often newer than what is in the bundles you’ve selected. If you do choose to download them you can select them and add them (using the Export feature) to the bundles so your servers update to them. For now I’m just going to focus on the Dell-provided bundles.

6. Finish the wizard, then check to see that the bundles listed are the Linux system bundles for the server models you want. If so, click the disk icon in the upper right corner and choose a place to save the repository. Once you do that it’ll download all the updates you need from ftp.dell.com (or transfer them from whatever repository you chose as the source). This will take a while. My repository for R610, R710, and R810 models, is 2.7 GB, and ftp.dell.com is slow. I let it download overnight.

7. Once that’s all done, select all the bundles. Click “Export” at the bottom, towards the right. You’ll get a wizard again.

8. Move forward and pick the destination of “Deployment Media (Linux only) Export to ISO/Script format for deployment.”

9. The Repository Manager will now see if you have the right plugins installed to create the ISO. You probably don’t, so let it take some time to download and install what it needs.

10. Choose a folder for the ISO image. In grand Dell tradition (ignoring the details) you don’t get to pick the file name. The ISO will always be called linuxIso.iso and will overwrite anything already named that. You’ve been warned.

11. I didn’t include my own script for the Deployment Media. Finish out the wizard and let it write the ISO.

12. Boot your host off of it, and when you’re prompted choose the correct bundle for the system you’re updating. It’ll take a while and you’ll see hundreds of dots marching across the screen, but so far it’s been 100% effective in getting the job done for me.

I always take the precaution of disabling the host’s SAN ports when I do this because I’m paranoid that something will happen to my 30 TB of VMFS volumes. There’s been no evidence of that being necessary, though it does cut down on the amount time needed for udev to load as part of the Linux disc’s boot process. I always suggest testing this out on a test host first, as your mileage may vary, and I don’t want you accusing me of nuking your hosts or your data. Use your head!

The Repository Manager is a decent tool once you have it installed, as it’ll let you manage your own repository for updates and whatnot. My OS teams do firmware updates as part of their biannual patch cycles, and we’ve started using this tool to keep the SUU repositories updated with the latest code but only for the models we have, saving a bunch of disk space.

Comments are closed.