Make bootable USB stick for BIOS update using macOS?

Joined
Dec 2, 2015
Messages
730
I want to update the BIOS on my two servers with Supermicro boards (X10SRH-cF and X10SL7-F). I've downloaded the 3.0a BIOS for each of these boards, and if I understand the directions correctly, I "simply" need to copy the contents of the expanded zip files onto a bootable USB stick. Do I need to add an OS such as FreeDOS, or are the contents of the BIOS zip from Supermicro all I need?

How would I create a bootable USB stick using macOS 10.13? All the info I've found so far assumes you want to use an ISO to make a bootable USB stick, so they point to tools like UNetbootin.

I've tried using diskutil partitionDisk /dev/disk3 MBR MS-DOS X10SL7F 0b at the CLI in macOS, but Disk Utility says the resulting USB stick is not bootable.

How large a USB stick do I need? I've got some ancient 64MB ones that I'd like to use for this, if possible. That is way more than the size of the expanded BIOS zip archives.

I'm sure the info I need is buried in this forum somewhere, but my Google-fu isn't strong enough to find it.

Thanks for any pointers.
 

Mirfster

Doesn't know what he's talking about
Joined
Oct 2, 2015
Messages
3,215
Not really sure about Macs, but I use Rufus to make a FreeDOS bootable USB stick and copy my stuff there for flashing.

Also, you might be able to update BIOS via IPMI; however I don't run SuperMicro so can't say for sure.
 

danb35

Hall of Famer
Joined
Aug 16, 2011
Messages
15,504
Do I need to add an OS such as FreeDOS, or are the contents of the BIOS zip from Supermicro all I need?
No, you'd need FreeDOS or something similar. Looks like this post addresses the situation.
 

Stux

MVP
Joined
Jun 2, 2016
Messages
4,419
I’ve always just done it in a Windows vm using Rufus...
 
Joined
Dec 2, 2015
Messages
730
The only Windows computer I have easy access to is my work laptop. I can't use Rufus on it, as Rufus refuses to install without Admin privileges, and I don't have those on that computer. I tried using an ancient Windows 7 VM in VMWare Fusion on macOS, but Windows 7 blue screens every time I try to use Rufus to create a bootable USB stick. Arrgh!!

So, I tried UNetbootin on macOS. It claims to work, and creates a bootable stick with FreeDOS on it. I copied the various BIOS files to the root of the USB stick, stuck it in the FreeNAS server, and booted.

It boots in FreeDOS, showing an "A:\>" prompt, but DIR shows no sign of the BIOS files that I put on that stick. I see "DRIVER" and "FREEDOS" directories, but there is no obvious way to find and run the Batch file to do the BIOS update. What am I missing?
 
Last edited:
Joined
Dec 2, 2015
Messages
730
I'm over the hump, I hope.

It seems that I need to switch from the A: drive to the C:, by doing C:. Then, a dir shows the BIOS files. I have no understanding of how a single USB stick gives me both an A: and a C: drive, but that isn't relevant to the problem at hand (BIOS update).

I first tried option 2 at the FreeDOS boot menu (Safe Mode with No Drivers), but an attempt to flash the BIOS would fail with "[PMODE/W]: Not Enough Memory Available!". Option 5 (Live CD) seems to work - at least the BIOS flash is in progress as I type this.
 
Joined
Dec 2, 2015
Messages
730
Well, that was a "fun" experience. Yesterday evening, I finally got over the hump with the BIOS update, as described above. I watched on the IPMI console as the BIOS update proceeded. It finally gave a "Success ..." message, then nothing happened for a long, long time. I pondered whether this was really the end of the BIOS update, and finally decided that it must have finished. I selected "Set Power Reset" in the IPMI console "Power Control" menu, and was horrified a few nanoseconds later to see the BIOS update suddenly start churning away again. Needless to say, the machine reset during the BIOS update, and that had the well known effect of turning the server into a brick. I consoled myself with a beer, and went to bed, very frustrated.

This evening, I tried SuperMicro's BIOS Recovery procedure, which involves copying the BIOS file onto a USB stick, and naming it "SUPER.ROM". Then you must press and hold the Ctrl and Home keys during startup, until you see the USB drive light flashing. I didn't hold out any hope that I could hold down two keys on the IPMI virtual keyboard, so I grabbed the USB keyboard from my Mac and plugged it into the server.

I held the Ctrl and Home keys, then selected "Power On Server" via the IPMI web view. My cheap USB key didn't have an indicator light, so I released the Ctrl and Home keys after 30 seconds, and shortly after I heard the two beeps that supposedly indicated the BIOS recovery had started.

I started the IMPI console, and it showed a BIOS screen on the Recovery page. I selected the "Proceed with flash update" item, and watched the progress indicators as the BIOS was updated. At the end, I rebooted the server.

The only issue after the BIOS update was my SSD boot drive was not detected. I had to enter the BIOS setup, change the device type at the SATA port from "Hard Disk Drive" to "Solid State Drive", go to the "Boot -> Hard Disk Drive BBS Priorities" item, and put that drive at the top of the list, then put it in the #2 slot of the "Boot -> Set Device Priority" list (the first item is USB hard drive, to cover the case that I need to boot off a USB stick someday). Everything worked perfectly after that BIOS fiddling. Time for a celebratory beer. I'll do the BIOS update on the main server in a few days.
 

Stux

MVP
Joined
Jun 2, 2016
Messages
4,419
If it makes you feel any better, I had a similar experience... but while upgrading the IPMI :(

So I bricked the IPMI.

Which meant I had to do a manual IPMI firmware replacement via physical monitor, keyboard etc. On a machine which is not supposed to need that. Which involved lots of shenanigans, starting with finding a VGA monitor!

Luckily it worked!
 

Monkey_Demon

Explorer
Joined
Nov 11, 2016
Messages
85
I had similar issues as Kevin & Stux. But yesterday I successfully updated the BIOS on a Supermicro X11SSH-F motherboard. So I'm sharing my notes to help anyone who stumbles across this thread.

Let me say at the outset that the Supermicro documentation is better than most, but it still leaves much to be desired. Also, I only updated the BIOS. I still have to update the IPMI firmware and install FreeNAS. But my experience with the BIOS should be helpful. Long story short, it took several hours to figure things out, but it worked in the end. Here are the steps:
  1. Download the latest BIOS firmware from the Supermicro web site. In my case it was a file called "X11SSH8.307.zip".
  2. Unzip the file. Make a note of where the unzipped folder is located. It's also a good idea to print out and read the Readme file located in the folder.
  3. Use the MacOS Disk Utility (Applications > Utilities > Disk Utility) to reformat a USB "thumb" drive. Insert the drive, select it from the left side of the DU window. Select "Erase", and from the Erase window select FAT32 as the format. (Note: I'm using MacOS 10.13.4 -- High Sierra; on other versions of MacOS the menu choices may be different.) Give the drive a useful name like "InstallDrive". Either leave Disk Utility open or make a note of the device address of the USB. You will need it.
  4. Download and install unetbootin if you don't already have it. Get it at https://unetbootin.github.io/. Note that although the downloaded file is a dmg file, it will not automatically install the app in Applications. Instead, I suggest dragging the app to Applications so you will have it for future uses. It's really helpful!
  5. Use unetbootin to add FREEDOS to your USB. See the "Using" tab on the unetbootin web site for instructions. You probably want to have unetbootin download FREEDOS for you.
  6. Next, use Finder to copy the unzipped folder and its contents (see #2 above) to the USB drive.
  7. Before ejecting the USB drive check its top-level directory and the contents of the unzipped folder. Notice what's there. This can be very helpful later on.
  8. Now unmount and eject the USB drive from your computer. Before doing so, make sure none of your finder tabs or Terminal windows are open to the drive. You can eject the drive from Disk Utility by right-clicking on its name and choosing "unmount" or in Finder by hitting the eject arrow to the right of the USB drive's name. Once the drive is unmounted (disappears from the window and, if you can see a light by its port or on the USB itself, the light turns off), remove it from the computer.
  9. Restart the computer whose BIOS you're planning to upgrade and press the Delete key to get into the BIOS. (Some boards may use a different key. Check the User's Guide.) You may get a message about "Setup," but just let things go until you're in the BIOS utility itself. Once in the BIOS, use the cursor keys to select the BOOT tab. Go down to the "Fixed Boot Order Priorities" and choose the first item on the list (Boot Option #1). Press Enter and scroll down to "[USB Key]". Don't confuse it with the one for "[UEFI USB Key]." Hit Enter, make sure the first option now says "Boot Key", and then hit F4 to save the settings and exit.
  10. Insert the USB drive on the target computer and restart it. If this is a computer already in use, I shouldn't have to tell you to make sure you've saved all your work, backed up the computer, and exited all programs and sessions before restarting it. If the system is already in use, it's probably safer to use the operating system's Restart mechanism. Otherwise, if it's a new, empty computer, just press the computer's Restart button.
  11. When the system reboots, FREEDOS should give you a menu of installation options. Choose "Install FREEDOS without drivers."
  12. To answer Kevin's implicit question, I think this is where FREEDOS sets up both an A: and C: drive on the USB drive. FREEDOS will open to the A: drive.
  13. Important Hint. This is the "secret sauce" of the whole process. If you run the "DIR" DOS command while still on the A: drive, you won't see any of the stuff you saw in #7 above, but you will see a bunch of stuff that wasn't there when you inspected the USB drive. This implies that either FREEDOS secretly added a second physical drive somewhere on the computer while you weren't looking, or, more likely, it partitioned the existing USB drive and is using A: for the OS. I think FREEDOS actually uses a version of Linux to emulate MS DOS, so a third possibility is that the A: drive is really a virtual drive in the computer's memory. But who cares? The more important point is to try different DOS drive letters and use the DIR command until you find what you saw earlier in Step #7. Now you're ready to rumble!
  14. Once you identify the appropriate drive letter, use the DOS "CD" command to navigate into the directory created when you unzipped the file you downloaded from Supermicro. Run DIR again. You should see a file called "FLASH.BAT". You should also see the actual flash file (see the next instruction).
  15. Enter the following command: FLASH.BAT <bios flash file name>. This will typically have the form <motherboard>.<number>. In my case it was "X11SSH8.307". Notice the relation between the file name and the name of the zip file in Instruction #1. So, in my case the command I entered was: FLASH.BAT X11SSH8.307
  16. You might want to get a cup of tea now, because this will take a few minutes.
  17. After you enter the flash command, the installation software will follow the procedure described in the Readme file you printed out. In my case, the FDT's were different, so the software created an AUTOEXEC.BAT file and rebooted. (If you don't know what FDT is, read the fuckin Readme file!) My version of the Readme file has this interesting use of the English language: "Continue BIOS upgrade with FDT programmed in next booting and schedules to reset system with 10-sec timeout message prompted." Translation: "After the first reboot, you'll get the same prompt again, and you'll have to reboot a second time. You can speed this up by entering "Y".
  18. Now enjoy your tea while the process adds a new BIOS to your system. It seems to take a long time, but it's probably only 5 to 10 minutes. Watch the messages to calm your nerves and keep your fingers off the freakin keyboard. When you see a message saying the process was a success, sing "Hallelujah."
Further note: Both Kevin and Stux used IPMI, and I was also tempted to use it because it seems easier. But when I looked into it, I decided against it. The documentation for using IPMI is more cryptic than the documentation for a direct install. There's also vague mention of needing a license. Maybe I'm wrong about this, but Kevin mentions a "progress indicator" and in my experience progress indicators do not give much information. If you do manual installation with a monitor and USB drive, there's no stinkin summary progress monitor. Instead, you can actually see what's going on in real time, and you can see individual progress monitors for each step in the upgrade process. As long as they're showing progress, everything is OK. Given that updating a BIOS is the computer equivalent of brain surgery, I prefer to know as much detail as possible. So even though my server weighs something like 50 pounds, if I have to do this again, I will remove it from my media cabinet and use our guest room's TV as a monitor to do the manual installation; I'll reserve IPMI for less critical tasks.
 

danb35

Hall of Famer
Joined
Aug 16, 2011
Messages
15,504
Both Kevin and Stux used IPMI, and I was also tempted to use it because it seems easier.
There are two distinct ways that IPMI could be used to update your BIOS:
  • Perform the BIOS update through the web GUI. This is, when available, clean and simple, but generally requires an additional license key (boo, Supermicro).
  • Use the IPMI virtual console to have remote access to the server console, as well as the ability to remotely mount boot media. This is not as clean and simple as the above, but requires no license key, and gives you exactly the same information as if you were sitting at the physical console. It also avoids the need to prepare physical boot media.
 

Stux

MVP
Joined
Jun 2, 2016
Messages
4,419
Yes. The second.

In my case I updated the BIOS fine. The problem was updating the IPMI... which is usually done through IPMI.
 

Monkey_Demon

Explorer
Joined
Nov 11, 2016
Messages
85
There are two distinct ways that IPMI could be used to update your BIOS:
  • Perform the BIOS update through the web GUI. This is, when available, clean and simple, but generally requires an additional license key (boo, Supermicro).
  • Use the IPMI virtual console to have remote access to the server console, as well as the ability to remotely mount boot media. This is not as clean and simple as the above, but requires no license key, and gives you exactly the same information as if you were sitting at the physical console. It also avoids the need to prepare physical boot media.

I don't recall seeing documentation on the IPMI virtual console.

Section 2-3 of the IPMI User's Guide just talks about using IPMIView and the browser (web GUI). Section 2-4 discusses Console Redirection, but it starts out: "Once you are connected ... via IPMI Console Redirection"; in other words, it presumes you already know how to do what it purports to explain.

Similarly, p. 2-5 of the Embedded BMC/IPMI User's Guide discusses connecting only with IPMIView and the browser.

Version 2.7a of the IPMIView User's Guide says IPMI runs on Windows and Linux. It also only mentions Windows and Linux when discussing using JAR. Since I'm using a Mac with MacOS 10.13.4, I don't think I can use IPMI View.

So where's documentation on using "the IPMI virtual console"?
 

danb35

Hall of Famer
Joined
Aug 16, 2011
Messages
15,504
I don't recall seeing documentation on the IPMI virtual console.
There isn't much to document. Log into the IPMI web GUI. Go to (on my boards) Remote Control -> Console Redirection. For me, it's a Java applet; on an X11 board I think it's a HTML5 thing that doesn't require Java.

And there at least has been a Mac version of IPMIView, as I've run it.
 

Monkey_Demon

Explorer
Joined
Nov 11, 2016
Messages
85
There isn't much to document. Log into the IPMI web GUI. Go to (on my boards) Remote Control -> Console Redirection. For me, it's a Java applet; on an X11 board I think it's a HTML5 thing that doesn't require Java.

And there at least has been a Mac version of IPMIView, as I've run it.

Thanks!

I'll look into using Console Redirection. As I mentioned in my post, instead of explaining how to start it, the manual page assumes the user already knows how.

As for IPMIView, does anyone reading this know where to get the Mac version? The Supermicro documentation I have doesn't mention it, and I didn't see a Mac version on Supermicro's web site.

Regarding both CR & IPMIView: as I said in my first post, Supermicro's documentation is relatively good but still leaves a lot to be desired.
 
Joined
Dec 2, 2015
Messages
730
As for IPMIView, does anyone reading this know where to get the Mac version? The Supermicro documentation I have doesn't mention it, and I didn't see a Mac version on Supermicro's web site.
I found it on Supermicro's FTP site a long time ago. I found the version that was available at that time to be very buggy. I use the iOS version on an iPhone or iPad, as it works well.
 

Stux

MVP
Joined
Jun 2, 2016
Messages
4,419
IPMIView is not with using on a desktop. Just use a web browser
 

danb35

Hall of Famer
Joined
Aug 16, 2011
Messages
15,504
IPMIView is not with using on a desktop
Yes, it is. That's precisely what IPMIView is--a desktop application. The IPMI web GUI is something different, albeit closely related.
 

Monkey_Demon

Explorer
Joined
Nov 11, 2016
Messages
85
I checked out Console Redirection. It downloads a JNLP file. Earlier, when starting it, I got a message saying JNLP was depreciated, and indeed this does appear to be the case. For a while it didn't work, but I was futzing with boot options to get FreeNAS to boot from a M.2 drive. Once I got that working and made sure the IPMI GUI was going to the right static IP address, console redirection worked fine.

Is downloading the JNLP normal? I can live with it, but this seems a bit kludgy.

In any case, thank you danb35 and everyone else!
 

danb35

Hall of Famer
Joined
Aug 16, 2011
Messages
15,504
Is downloading the JNLP normal?
It is for me. Again, I'd understood that the X11 boards were using a different technique, but I don't have any personal experience with them.
 

Sdone

Cadet
Joined
Jan 21, 2019
Messages
1
Has anybody tried other ways for making bootable USB stick? i found this method,but i have not tested it yet.
 
Last edited:
Top