Flashing R720xd BIOS from iDRAC6 Virtual Media using FreeDOS

Updating firmware on new Dell servers with the Lifecycle Controller is easy... unless you are behind a tightly locked down firewall. This article explains how to modify a FreeDOS ISO and use it to update the BIOS.

BIG WARNING: This has a high probability of destroying the operating system and data on your server with simple slip ups since it uses an escape hatch from the FreeDOS Install process to get a DOS Prompt.  I did this with FreeDOS 1.1. YMMV to a extremely great extent.  I really wish there was a FreeDOS ISO that boots only to the prompt.  I am sure it can be modified to do it, but I've had no luck myself.

Enough editorializing, you didn't come here for my liberally shared opinion, you came for a solution to a problem :)

I installed ISO Master on Ubuntu from the Ubuntu Software Center.  I prefer command-line tools, but I lost patience trying to find a suitable one.  I know they exist and I will gladly update my article if you, my kind readers, have recommended tools for CLI editing of ISOs that preserve bootable properties.  I'll count myself schooled if this is possible with loopback mounts.  Everyone is vulnerable to superstitions when outside their comfort zone and this is outside mine.

Download the FreeDOS 1.1 ISO (fd11src.iso) from the FreeDOS download page. Download the latest R720xd BIOS update from Dell's Support Site: as of this writing it is R720-010306C.exe.

Install and Launch ISO Master.  Find and double click fd11src.iso to open it.  It's contents will be shown in the lower panel of the ISO Master window.  Find R720-010306C.exe in the top panel, click on it, then click Add. Click on R720-010306C.exe in the lower panel and hit F2 to start renaming it.  Rename R720-010306C.exe to an 8.3 name like BIOSR720.EXE.

Use Ctrl-S in ISO Master to save the ISO to biosupdate.iso.  Upload the ISO to a location where you have iDRAC access to your Dell R720xd server.  Log into iDRAC.  Use Settings to switch it to the Java version if you can.  The "native" version uses ActiveX and it is charitable to call it rough around the edges.  The Java console is much better.  Once you have the console window up select Virtual Media | Launch Virtual Media. In the Virtual Media window click Add Image.  In the Open dialog that appears open biosupdate.iso.  Back in the Virtual Media window tick the checkbox under the Mapped column by biosupdate.iso.  This will make iDRAC present the ISO to the server as a disk in a CDROM drive.

Make sure the server is configured to boot from CD.  Reboot the server and wait for FreeDOS to boot.

Select Install to Hard disk and press ENTER.  Press Q.  This will land you in D:\.  Run E:\ to switch to the E:\ drive and run dir.  BIOSR720.EXE will be there.  Run BIOSR720.EXE.  You will see Loading BIOS flash update utility... and some other notes and a progress indicator.  The Flash Update BIOS Program - Version 1.3.6 (in my case) loads up and says Press any key to continue....  I hit ENTER and it prompts back About to replace Dell System PowerEdge R720xd BIOS. Press 'Y' to replace "1.2.6" BIOS with "1.3.6" BIOS.  You can cancel safely here with ESC. I press Y and the update begins.  Update will take several minutes. Please wait.  Then it says Comparing flash with progress.  Then it says Done! -- Press any key to reboot. Note: System will power off  for a few seconds and then restart.  I don't want FreeDOS to load again since I no longer need it right now so I go to Virtual Media and uncheck mapped on biosupdate.iso, then go back to the console and hit ENTER.

I still don't have my Intel(R) Ethernet 10G 2P X520 Adapter working.  iDRAC shows OS Driver State as a warning sign which means drivers are not loaded according to the help pages.  I have no idea what this means since I have never had to deal with NIC drivers explicitly.