Yesterday evening I posted a detailed tutorial that explains how to flash/update the IPMI firmware on the X9DRW-iF server from Supermicro. Today I’m going to explain how to flash the BIOS on the same hardware. If you’re not familiar with what a BIOS firmware flash is, there’s no shame in not knowing, here is a good explanation. I’ve found the documentation out on the web to be scattered at best, and a little bit confusing. This is why I thought I’d put together a start-to-finish guide here, where we’ll create our own custom bootable ISO, and use it to update to a specific BIOS firmware for the X9DRW-iF.
We’ll be creating an ISO that can be burned to CD/DVD, flashed to USB, or even mounted virtually using IPMI, then used to update/flash the BIOS on a Supermicro X9DRW-iF. Everything will be explained from start to finish.
Special Note: If you just want to upgrade without creating your own bootable ISO, you can download the
fdoem.iso I created here, and skip to the Booting to the ISO and flashing the BIOS section below. It’s important that you realize that this ISO is going to be at the version of the BIOS that was available at the time of this writing, but it worked just fine to flash the BIOS on my server. Disclaimer: Though I have tested this and it worked on my server, BIOS upgrades are serious business. You are responsible if something goes wrong. Make sure you’re confident with what you’re doing before proceeding with any firmware update on any device.
- FDOEMCD.builder.zip (Full disclosure: I’m just mirroring this. The original file came from here)
- The BIOS – as of this writing the most current version is X9DRW4_324.zip / R 3.0c, which I’ve mirrored for your convenience (in the future, you can snag the most current version from www.supermicro.com/support/bios/ by searching for X9DRW-iF)
- A Windows XP machine (other versions of Windows may work, but XP definitely works). If a physical machine is not available, we can very easily set up a Windows XP virtual machine on Windows, Linux, or OS X by downloading VirtualBox, and downloading a Windows XP image from https://www.modern.ie/en-us/virtualization-tools.
Once we’re booted into our Windows XP machine (whether it’s a physical machine or VM doesn’t matter), we can download the two files (the builder and the BIOS zip files) listed in the Requirements section. Then we:
X9DRW4_324.zip, ensuring the contents of this zip file end up in the
FDOEMCD/CDROOTdirectory created when
FDOEMCD.builder.zipis extracted/unzipped. Ultimately the directory tree should look like this (I’ve highlighted the files that are inserted from
â”€â”€â”€â”€FDOEMCD â”‚ bfi.exe â”‚ BOOTSECT.FD â”‚ makeiso.bat â”‚ mkbtdsk.bat â”‚ mkisofs.exe â”‚ mkisofs.rc â”‚ README.TXT â”‚ â”œâ”€â”€â”€CDBTDSK â”‚ â”‚ AUTOEXEC.BAT â”‚ â”‚ COMMAND.COM â”‚ â”‚ CONFIG.SYS â”‚ â”‚ KERNEL.SYS â”‚ â”‚ README â”‚ â”‚ â”‚ â””â”€â”€â”€DRIVERS â”‚ cdrcache.sys â”‚ ctmouse.exe â”‚ Eltorito.sys â”‚ himem.exe â”‚ shsucdx.exe â”‚ â”œâ”€â”€â”€CDROOT â”‚ â”‚ AFUDOSU.smc â”‚ â”‚ ami.bat â”‚ â”‚ AUTORUN.BAT â”‚ â”‚ Readme for AMI BIOS.txt â”‚ â”‚ X9DRW4.324 â”‚ â”‚ â”‚ â””â”€â”€â”€isolinux â”‚ BOOTMSG.TXT â”‚ BTDSK.IMG â”‚ F1_HELP.TXT â”‚ F2_LICEN.TXT â”‚ F_ABOUT.TXT â”‚ isolinux.bin â”‚ ISOLINUX.CFG â”‚ memdisk â”‚ â””â”€â”€â”€licenses gpl.txt nu2lic.txt
- Click Start â†’ All Programs â†’ Accessories â†’ Notepad
- Click File â†’ Open…
- Browse to where
FDOEMCD.builder.zipwas extracted/unzipped, then open
ami.bat(highlighted above), and remove the lines highlighted in red below:
@echo off REN AFUDOSU.SMC AFUDOSU.EXE AFUDOSU.EXE %1 /P /B /N /K /R /FDT /MER /OPR REN AFUDOSU.EXE AFUDOSU.SMC
ami.batshould look like so:
@echo off AFUDOSU.EXE %1 /P /B /N /K /R /FDT /MER /OPR
- Click File â†’ Save, then click File â†’ Exit to close
- Finally, rename
Creating the ISO
To create a custom ISO that includes our BIOS update for the Supermicro X9DRW-iF, we simply open Windows Explorer, and double-click the
makeiso.bat file contained in theÂ
FDOEMCD directory. This script will take the firmware we’ve added to the
CDROOT directory, and bake it into a bootable ISO that will be created in theÂ
FDOEMCD directory. This ISO will be named
fdoem.iso, and it will include everything needed to flash/update the BIOS on the X9DRW-iF.
Booting to the ISO and flashing the BIOS
Now we have a few options. They are:
- “The Old Method” – Burn this new, custom-baked
fdoem.isofile to a CD-R or DVD-R
- “The Newer Method” – Flash this ISO to a USB drive
- “The Newest, Fancy and Convenient Method” – Mount the ISO directly over the IPMI network connection on the X9DRW-iF
Regardless of how we choose to boot the X9DRW-iF from this ISO, we’ll be dropped to a DOS prompt. The command to update the BIOS will be
ami.bat X9DRW4.324. For example:
I hope this is useful for folks who are apprehensive or confused about how to update the BIOS on a Supermicro X9DRW-iF server. I found that the documentation that is out on the web isn’t very clear, which is what motivated me to share this in the first place. As always, any questions and comments are not only welcome, but encouraged. I do my best to respond to all of them!