I’ve been enjoying my new home lab tremendously in the last couple of months. Enough oomph to run Azure Stack, DC/OS, Docker 1.12 in Swarm Mode, all kinds of unikernels; all at the same time.

The Supermicro in my lab

I’ve written about this awesome form factor on the Open Home Lab website, and have evangelized the Xeon-D and Supermicro form factors to friends and co-workers. I thoroughly enjoy my Xeon D based system, which is a fully identical system to the popular Supermicro 5028D-TN4T barebone. I have a slightly different motherboard, the X10SDV-4C-TLN2F instead of the X10SDV-TLN4F. There’s only small difference in processor (core count) and number of NICs.

Awful ways of updating the BIOS

Traditionally, updating any BIOS is cumbersome. Some vendors have integrated solutions (like Dell with their Lifecycle Controller), but all lack in some way. Luckily, I haven’t had to deal with a BIOS upgrade for a long, long time (until yesterday, when a new version for my motherboard became available). As a seasoned BIOS-upgrader on Dell and HP platforms, I knew what to do.

With Supermicro, there’s a couple of options:

  1. Use Rufus to create a FreeDOS-based USB key, add your BIOS upgrade files.
    • With two deployment options: stick the USB key into the physical server directly
    • Use the embedded IMPI interface to pass the USB key from your local workstation to the server using Virtual Media
  2. Use any bootable, DOS-based, ISO and boot via IPMI Virtual Media
  3. Use the UEFI shell to boot and flash.

There’s loads of little things to take into account, and a lot of frustration ahead. Don’t you hate to go through another and another boot cycle because you were too late for the ‘press F11 for boot menu’ option? I certainly do. And in my case, none of these options worked. I just wasn’t able to boot into DOS or the EFI shell to update my BIOS.

Better way of updating the BIOS…

Somehow, I ended up on Supermicro’s site, trying to find a solution. And I did! And oh boy, it’s a gem. I knew there was a reference to BIOS updates in the IPMI interface, but that requires an activation key.

SMBU

But that did persuade me to search for ways to activate this option, and I found a separate solution from Supermicro that does, and it supplies the aforementioned activation key, too.

…courtesy of Supermicro Update Manager

That solution is called SUM, or Supermicro Update Manager. It’s an incredibly cool CLI-tool to manage and configure Supermicro servers, and I’ll dive into the tool a little later (since it’s the best way to update a Supermicro BIOS). We won’t need it to update our BIOS via IPMI, though.

The trick is that SUM needs am ‘Out-of-Band’ software license installed on each local IPMI, so getting your hands on SUM means you get one of those licenses. You can request an evaluation version on the SUM product page. With the license, and even without actually using SUM, you now have the easiest way to update your BIOS.

Screen Shot 2016-08-09 at 14.30.33

easy-a-187

Actually updating the BIOS via the IPMI, a demo

So now we can activate the ‘BIOS Update’ option in the BMC IPMI interface, and the rest is easy. Upload the BIOS binary image, press some buttons and wait a while:

So Joep, what’s your point?

Well, it’s simple. Get your hands on one of those ‘activation licenses’ for Supermicro IPMI via the SUM product page, and save yourself time and frustration whenever you’re upgrading a Supermicro BIOS.