Supermicro Ipmi Bios Update License



Preface

Update to the Latest BIOS via BMC / IPMI; System Utilization; Remote Access; Supermicro Certified; Email Delivery Within 1 Hour (Digital OOB Key Generation - No Refunds, Returns or Exchanges).

In todays’ age, you would think that when you have to update BIOS on your servers, you will be downloading an exe file and simply run it from your machine, ofcourse assuming you are running Windows on the machine. I was in for an unpleasant surprise of finding out that SuperMicro’s MicroCloud systems can only be updated using one of the two methods:

  1. Download BIOS zip file, which contains DOS executable and BIOS update bin file (which isn’t named .bin either!)
  2. Use IPMI and apply BIOS update OOB (out-of-band), which requires purchase of separate activation key per server blade in given chassis!

Let’s talk option 2 for a moment. The option sounds very interesting indeed. You can simply go to http://ipmi_ip of your server and update BIOS. Even if I have to reboot the server to apply changes, the update itself is promised to be out of band. That is certainly very convenient. However, SuperMicro seems to consider this feature a luxury! To be able to update BIOS using this option, you will have to purchase a product key and activate it, per server. Irony of this is calling SuperMicro and resellers who actually sold me this system resulted in clueless sales people caught blind with no idea of what I was asking them the quote for. Infact, one of the sales person even gave me technical support phone number as they thought this was a technical issue!

  • IPMI Firmware Update via Flash-Utility. Supermicro provides an IPMI Flash-Utility for DOS, Linux and Windows. The following steps show the update of the IPMI firmware under Linux. Copy both the Flash Utility and the firmware file to the server on which you want to update the IPMI firmware. The files lUpdate and lUpdate.sh must be executable.
  • Supermicro's compact server designs provide excellent compute, networking, storage and I/O expansion in a variety of form factors, from space-saving fanless.

So now, let’s talk about option 1. To make their customers purchase keys I mentioned for option 2, SuperMicro seems to have gone to great lengths to make your BIOS update process very very difficult. Here’s why:

  1. Product manuals for MicroCloud servers suggest that you should not update your BIOS unless your system is not working properly and update is suggested by support representative.
  2. Scouring SuperMicro site suggests that they used to have option to run executable from windows (like you do with Dell and other vendors), however, they call it “legacy” feature. This was also confirmed by support representative when I called SuperMicro and asked for exe format instead of DOS option they have on website.
  3. When I worked with support representative from SuperMicro, they asked me to create a bootable USB using Rufus (http://rufus.akeo.ie/). When I asked them I want to use ISO because I am not local to my datacenter and need to use ISO over IPMI, they asked me to talk to sales for options. Yup, classic upsale tectic.
Update

Really SuperMicro? Why can’t you price your systems right instead of trying to charge for a feature that should be built-in for such systems to start with. Why not put a disclaimer with your manageability claims on product page so customers know what they are in for!

Anyway, enough with my rant. Let’s talk tech…

Tech Talk

Now that my options were clear, I knew I had no choice but to create a bootable ISO that contained BIOS update. I can’t use bootable USB mentioned earlier as I am not local to the datacenter and do not intend to plug-in USB disk to each server to apply BIOS update. I must use IPMI as I am remote and that leaves me with only one option, bootable DOS ISO image. I didn’t mention bootable DOS floppy image as 8MB BIOS update will not fit on floppy image.

At first, I tried figure this out on my own. I spent almost 3 days, trying all different tools that allow me to create bootable CD. However, almost all failed to produce desired bootable ISO image. Some claimed to have created the CD image but it failed to boot when I tried. At the end of my wits and wanting to not lose any more time, I reached out to SuperMicro support. After making suggestion of making bootable USB and when asked for ISO, recommending sales option, on my persistent request for ISO, I received an email stating “As a special courtesy” I will be provided with DOS bootable ISO image containing BIOS update! Yup, I am SPECIAL like that!

The problem is, the “special” favor didn’t go long. I received the download soon, only to find out that the image boots fine but won’t apply the update. As I started investigating, I found out that the update files on CD image were all 0 KB files! This I assume may have been a genuine glitch, but it still left me hanging. I reported the issue back to SuperMicro support. Since they made me feel “special” by not sharing how to create an image even after repeated requests, I was handicapped which I don’t like, especially with extensive IT background. So I decided to take matters in my hand.

First, I decided to simply mount the ISO provided by support to see what it contained. What I saw was a directory structure that was eerily familiar:

Notice diskemu and DOS71! If you are not familiar with Bart Lagerweij’s work on bood disks, quick search on internet would make you quickly familiar with his great work. He can be considered SME in this area.

Supermicro Ipmi Bios Update LicenseDriver

Based on the info I now had on hand, I started looking for DOS 7.1 ISO images and a quick search returned this syschat community link. I now had a full DOS 7.1 install ISO. The next step was for me to figure out how to add BIOS update files to it and change default menu to my test. First, I needed to extract the image, which was easy with 7zip, which is free download and is one of my essential tools. You can extract ISO many different ways so that’s the easy part. Since we plan to create an ISO that is bootable, it is important to extract boot image as well. 7zip does it automatically. The location isn’t important but I extracted it to “C:TempDOS71CD”, which we will reference later in the post.

I then extracted BIOS files I had downloaded from SuperMicro. Copied it in BIOS folder I created under extracted folder above. The folder structure at this point looks like the following:

The [BOOT] folder contains bootable image file Bootable_NoEmulation.img.

Depending on tool you use to extract the ISO file, you may not see the [BOOT] folder. I used 7zip for windows, which is a free tool and was able see and extract [BOOT] folder. YMMV.

The last piece before we can create custom CD ISO is to update files. First, let’s update BIOS folder. The folder contains the following files:

the .smc file is actually an executable. When you look at ami.bat, it renames the .smc file to .exe first, then runs it with provides BIN file as a parameter (X9SRD4.212 is actually the update bin file in my case) and finally renames executable back to smc. To simplify it a bit, I went ahead and renamed the .smc file to .exe. Then, I removed lines that rename smc file to exe and back. Finally since I was always going to apply this one update to my servers, I also chose to replace argument in bat file with actual bin file. Updated bat file looks very simple:

@echo off

AFUDOSU X9SRD4.212 /P /B /N /K /R /FDT /MER /OPR

At this point, we have all the files in a file structure for ISO. All we need to do is put it together in a nice bootable ISO file. While there are many options and many ways to do this, I am going to show you just one that worked for me. If you want to follow along, go ahead and install MagicISO on your computer. Then follow these steps:

Open MagicISO

On the new image file screen, right click CD and rename it to your linking:

From tools menu, select “Load Boot Image”

Click “From bootable image file” and select Bootable_NoEmulation.img file from [BOOT] folder

Supermicro Ipmi Bios Update License Key Generator

Drag and drop all files and folders except [BOOT] folder from DOS71CD folder

From File menu, click “save as” and provide location and filename for new ISO.

That’s it! Go ahead and boot your SuperMicro systems with this ISO to apply the BIOS update.

Supermicro ipmi bios update license replacement

Since we used MSDOS 7.10 installation disk, it will start DOS install if you don’t make any selection at boot screen. You want to cancel the installation which will put you at command prompt on A drive. You now can switch to C:BIOS and start ami.bat. This will kick off bios update. If you feel adventerous, you can update diskemu.cmd to customize boot menu title and then update autoexec.bat located inside DOS7INS.IMG under BOOT folder. This way you will be able to boot from CD and automatically start BIOS update, no user interaction required! I trust your skills and ability to figure this out on your own. Hint 1: I’m tired by writing this long post, Hint 2: you can use MagicISO to edit IMG files as well.

I just finished BIOS updates remotely using IPMI on my servers. What a good way to end Friday the 13th!

The newer Supermicro motherboards have the ability to update the system BIOS from IPMI Web management or with a Supermicro tool called

Supermicro Driver Update Tool

“Supermicro Update Manager (SUM)”

This tool consists of a linux cli and it works on most of the X9/X10/X11 Supermicro systems. If you have one of these motherboards you probably could update your BIOS under linux console and throwing away your freedos cd prehistoric update process (probably coming soon). If you’ve used Supermicro with for ages you probably are aware of the problem with the updating the BIOS, their tool is an old DOS flash utility, which could be used under MS Windows and with linux servers we got a problem! But not any more! Recent motherboards with built-in IPMI modules have “BIOS Update” option in the web interface (under Maintenance menu), but you need a license (which by the way is not expensive).
So if you happen to have such server you could give a try to SUM linux cli (yes they made a linux cli and even a freebsd one!). With the SUM cli you could do more than just update the BIOS (which is pretty important) here are the functions you can do Key Management, System Checks, BIOS Management, BMC Management, System Event Log, CMM Management, Storage Management, Applications (through the network) and for some of them you still need a license, but for BIOS update you do not need if you do it as Supermicro says

In-Band

which basically means from the server you want to update (or in general use it). KEEP IN MIND this method will reset your BIOS options to DEFAULTS!!! In fact you need a license to use preserve settings you can see the output of the SUM help for the command UpdateBios. So save your changes to recover them after the update!
And here we present a BIOS update with SUM on one of our Supermicro servers with motherboard X11SSV-M4F
So the BIOS version was 1.0 reported by lshw:

And here are the steps to do:

STEP 1) Download the SUM cli – Supermicro Update Manager and unpack it in your server

Update

You could download freely the SUM version 2 from here: https://www.supermicro.com/solutions/SMS_SUM.cfm (this link explains what the tool is used for) at the bottom of the page there is a link to download the SUM – https://www.supermicro.com/SwDownload/UserInfo.aspx?sw=0&cat=SUM Here you should fill the form with your name, company and email address and then you will be redirected to the download page, which at present is like the screenshot below:
When downloaded the linux version you would have the following files in the archive file:

The “sum” file binary is the tool you need.

STEP 2) Download the new motherboard BIOS firmware

, which for our board (X11SSV-M4F – https://www.supermicro.com/products/motherboard/Xeon/C236_C232/X11SSV-M4F.cfm) it was version 1.1 with filename “X11SVMF8_308.zip”, unpack the file under X11SVMF8_308

Supermicro X10 Bios Update

The file “X11SVMF8.308” is the BIOS firmware of the motherboard. As you can see the prehistoric DOS executable flash utility is still distributed and is supported method of updating.

STEP 3) Update the BIOS

As you can see we got critical warning! You may not have the critical, but if you do you need to run the command second time to really flash the new BIOS firmware. So here it is, AFTER rebooting your server login again and execute the command again:

And there you have it you updated the BIOS of your server successfully. KEEP IN MIND the BIOS settings are reset to Defaults! When you restart the server the second time (if you get the critical warning or the first time if you do not) you should load the optimized defaults and change your settings according your needs. Go to BIOS and load the optimized defaults and change the settings according your needs (or your backup).

Supermicro Ipmi Bios Update Key

* SUM cli – UpdateBios help output

Supermicro Bios Update Utility

* SUM cli generic help output