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.

29 thoughts on “The Easiest Way To Update A Dell Server's Firmware”

  1. This convolution is a big reason why all of my VMware ESX/ESXi hosts are HP Proliants. HP has regularly released bootable firmware management CD ISOs publicly for years.

  2. This is 90% of the answer to my problems with running a Debian install on the PE machines at work. I thank you for this post (took a heck of a lot of googling before I found it).

    Now if I could only get the extras pulled down as well without the program complaining that it couldn’t validate the signature on one of the files, I’d have these machines updated already.

  3. Turns out that you can boot with the Dell Build and Update Utility DVD, select “Firmware Updates”, and use the DVD as the firmware source. It’ll pop open the tray so you can swap in the Server Updates Utility DVD (the same one that runs in Windows). Then continue, and eventually apply changes.

    It takes a while to read the DVDs, upgrade, and reboot, but it worked for me without upsetting the VMWare install. Looks like there are also options for bootable USB and putting the firmware updates on USB/NFS/SMB which probably would have cut the time in half.

  4. That’s fine if you have physical access to the servers, but if you’re using a remote media solution (like the one built into the iDRAC Enterprise) it won’t see the second DVD. Or, at least it doesn’t for me.

  5. Thanks for this article! We have quite a few remote ESXi servers and this is already helping tremendously.

  6. That’s cool, and I’ve tried it. However if your attaching the ISO to Virtual DVD, it seems to hang. The boxes I’m trying are a fair bit out of date, and I suspect if its trying to do iDRAC. So I could update iDRAC on its own – cool, do that a for a few hundred and I’m sure you’ll get bored real quick.

    With the HP ISO, you can configure it to do PXE boot – but the Dell one doesn’t appear to want to play. So close, yet no cigar…. Have you tried the PXE boot option? I can’t say I’m an expert in PXE, so maybe it does work….

  7. Bob thank you for your article! It helped me a lot.

    Here’s what I did. It might help others.

    At step 8. Export it using the mode “Export as SUU” (ISO)
    Step 9
    Download Dell Systems Build and Update Utility (current version ftp://ftp.dell.com/sysman/cdu_1.6_core_173_A01.iso)
    Step 10
    Connect to your iDRAC6 Enterprise and boot your server with the ISO of Dell Systems Build and Update Utility. Be patient, it may takes a few minutes to load.
    Step 11
    Select Firmware update in the left menu
    Step 12
    This step can only be done NOW and not before step 10 or it WONT work.
    Go to your Virtual Media and uncheck your ISO of BSUU. Now bind it to your ISO of my step 7.
    Click next and it will read the repository of your updates.
    Step 13
    Select your updates and click the button to return to the home page.
    Step 14
    Click Apply/Export
    And start the process.

    The next screen will show you some kind of progress bar. In my case I was updating the BIOS/iDRAC/Raid firmware. The screen was showing 5% done and stay there for like 5 minutes. BE PATIENT. I then lost access to my Virtual Console (being updated). After 1-2 minutes it was back up. When I got back to the Console it was still showing 5% … and it rebooted to do the BIOS update.

    I first thought that the SUU.iso you create with the Repository Manager would be bootable and you could update from it but it didn’t work for me and I didn’t push further.

    My solution takes more time but is more graphical and you get to choose what to do.

    Hope this help someone else!

    l0cks

  8. Thanks Bob and l0cks! This was great. I really appreciate the “BE PATIENT” part. All too often, we’re so used to click click click and things moving at the speed of light in our data centers. I would have been really concerned having to wait for the 5% for 5 mins but you were right on the money. Thank you soo much. You saved me a late night trip to our data center.

  9. I have Dell Power Edge R710, I could update the BIOS and other FW’s by using a USB.
    I create the SUU repository using Dell Repository manager, choose Linux packages (eventhough the server I use for Windows) as the boot from “System Services” option boots to Linux.
    1. I reboot the server, press F10 during the Dell logo shows up.
    2. It boots to the embedded OS from USC (Unifies Server Configuration) – this is the alternate for using System Build and Update boot CD.
    3. From the GUI , i get option to update, and provide repository location to update.

    Note:- Exported the repository, dumps all files needed, and creates catalog file which is important…My USB root had folder called “Repository” and it had all files for update and catalog.xml.

  10. Why is this statement made?
    “I create the SUU repository using Dell Repository manager, choose Linux packages (eventhough the server I use for Windows) as the boot from “System Services” option boots to Linux.”

    The reason I ask is because:
    I have not got the updates to work in a “pre-os” stage – any help appreciated! Basically, Dell “leaves you hanging” – and no, I do not have any 11G servers – with the built-in USC (only old 2950 servers). I need to update BIOS, drivers, etc., before o/s, but looks like Dell’s latest SBUU/SUU mostly only lets you accumulate firmware & driver packages to be LATER applied, AFTER your o/s is up and running — packages like so: FRMW_WIN_R165842.EXE. Because if you ‘export to folder,’ it creates “autorun.ini” and so forth, which means you have to first “boot to an o/s” before you can run a CD/DVD with theupdates – right? AND, even when you say “Create as ISO,” it creates DVD the same way – with autorun.ini and so forth.

    And my servers only are “windows” servers. I made a SBUU latest, greatest ISO for the initial boot but, then, even after MANY tries with latest 2.1 Repository Manager, I CANNOT figure how to make the ISO with the bundled updates, so that it works when you swap DVDs from SBUU to SUU (update repos packages) – keeps saying “invalid media, not correct format” and things along those lines.

    Tried various ways to build on USB stick also, but “not valid repository format” is the error that I get.

    It sounds like, SOMEWHERE IN THE REPOSITORY MANAGER steps, we must choose LINUX (???) even if we are making bundles to update WINDOWS servers????

    Can someone please clarify that? Or, how to properly burn the 2nd DVD containing updates from which I can “select” at my pre-os stage (before Windows is installed)?

    Dell’s own notes say that, “No, you cannot boot from the actual ‘updates’ DVD, you have to first boot the SBUU DVD and THEN, when prompted (i.e., you selected “Go do the firmware updates), then you swap the SBUU DVD for the one that has the updates.

    Thanks in advance for any help!

  11. For some reason I can’t boot from the iso created by that Dell plugin. As a matter of fact I can’t start any computer of that disk. Any suggestions?

  12. I was installing via the SBUU DVD and when swapping the disc I burned with the updates from the Repository Manager, I had to switch to the console (ALT-F2) and mount the cd… mount /dev/hda /mnt . I cd’d to the /repository directory and ran the bios update manually …. ./PEwhatevermachineyouhave.bin, and it worked like a champ.

  13. I’ve been searching for a day on how to update the firmware of PE R900 and this helped a lot. And now VMware ESXi 4.1 is installed successfully after updating the firmware.

  14. Nice one Bob! Worked 1st time and was soooo easy compared to other methods tried.
    Thx a million!
    JB

  15. Dell has to possibly do this the in exact worst way when it comes to firmware updating. What happened to releasing a ISO image every quarter and using that too boot your system to update the firmware? No downloading a program to construct ISO images or getting .exe files to update firmware. Just an ISO that you boot a system and update the firmware in a couple of minutes.

    I followed the instructions above and the process failed here and there since I was missing modules and what not. I just gave up since it was taking about an hour for each attempt and I have better things to do.

    Dell, if you are listening, stop making this hard and see how HP does it, cause they do it right.

  16. Downloads, downloads and more downloads. You need this plugin and then that plugin. Boot form here and then put in another CD.

    A simple boot-able CD/DVD for each series. That’s how most other providers do it Dell!!!

    Feel better now I’ve had my rant.

    Thanks for the post, no thank yous to Dell.

    Bigm

  17. I waited 80 minutes for the 2.6Gb R610 downloads to complete, now on the export stage when creating the ISO its reporting:
    “Exporting selected bundles to a bootable ISO…
    Downloaded 30/4514”

    I must’ve done something wrong – it should be done downloading!?

    thanks

  18. Booted the ISO and it launched the bundles script – applied them for 20 minutes – took a few screen shots and when ESXi came back up it reported the Dell R610 BIOS level was still 2.x – why didn’t the new 6.x BIOS get installed?? (the main goal)

    Whats my next step – do I need to dig into the catalog.xml?

    thanks

  19. Loading…….zzzZZzZzzZzzzZzz – patience indeed! 🙂 Thank you, that worked perfectly!!

    *One thing you may need to check is that “Virtual CD/DVD” is at the top of the boot order list in BIOS. I knew my CD was already top loaded, but didn’t realize “virtual CD” was a separate boot device in BIOS. After that, you can use DRAC to connect to the ISO on your local system and it’s full steam ahead!

  20. Step 12 didn’t work for me.
    It booted, and ran the .sh script, but would reboot after the diagnostics check.
    I’m assuming it doesn’t allow you to update DRAC or Life Cycle via the virtual media.

    What I did.
    – Attached the Virtual media of:
    http://linux.dell.com/files/openmanage-contributions/omsa-64-live/OMSA64-CentOS55-x86_64-LiveCD.iso
    – Powered on, Hit F11, Booted to that ISO
    – Once every thing was up, then I unmounted the omsa iso, then mounted the LinuxIso.iso created by the repository Manager above
    – Copied the repository folder over to the home folder.
    (this copyies the update from the virtual media to a filesystem running in memory on the host.
    You need to do this because you’ll lose the drac connection and the virtual media will be dropped)
    – unmounted the LinuxIso.iso
    – detach the virtual media (this is needed to be detached to update the OS Drivers Pack, or else you’ll get “Secure Copy Failure”.)
    (Console/Media / Change Virtual Media Status to “Detach”)
    (I’ve actually never got the “OS Drivers Pack” to update remotely)
    – mkdir /bundleapplicationlogs (this is for logging)
    – chmod 777 * (do this in the folder with the apply updates.sh script)
    – ./applyupdates.sh (check spelling)
    – When this completed, I re-ran the R710-Bios….BIN manually, ./R710…BIN, q, Y, yes to reboot now (it only seems to get updated if run manually and saying yes to reboot. Doesn’t work when doing silent install.)
    – When it got to updating drac & the life cycle controller, it disconnected me.
    So I closed my browers, waited 10 minutes, then reconnected and checked on the progress.

    As a side note, to get Drac to even work in IE, I had to right click internet explorer (run as administrator) to get pass UAC, then add the IP of each system to the trusted zone.
    If I didn’t do this, then I can view the screen, but can’t type.

  21. * For Dell Repository Manager 1.5 to get to the bundles:
    – Select “My Repositories”
    – Select “View Source”
    * Then filter by the model you want
    * Select the System Bundle (Linux) that use want
    * Click Export, then go through the wizard, etc.

Comments are closed.