Do this at your own risk. This worked on my motherboard. Always read and get familiarize with the Supermicro instruction prior to continuing.
I bought a SATA PCIe x4 card to support my SSDs. I would use my onboard SATA ports except that the hot-swap bay is sitting on top of the SATA ports. I had no choice to get an external card for SATA and unfortunately, it is barking at me with errors. Figure 1, shows the error that I was getting. I don’t know if there was getting affected by this error, but I went ahead and updated my BIOS to the latest version.
Apparently, there are three ways to update the Supermicro BIOS. The easiest one probably via the IPMI, the one I did was booting from a thumb drive. I guess you can call it the hard way. The third one is via the Supermicro Update Manager (SUM). I could not update the BIOS via the IPMI due to it requires a product key which I don’t have – see Figure 2. The SUM probably requires some licensing. Therefore, the only option that I have is the manual way. It is actually was not that bad. The only hard part is I have to manually plug the thumb drive into the server.
This post is about prepping the thumb drive using a Linux workstation. Most guides out there are Windows and they are all using the tool Rufus. There is nothing wrong with Rufus, but it is not available in Linux. We are using the built-in tool called
dd and the same old copy and paste.
The Supermicro BMC and BIOS can be downloaded here. Search for the model of your motherboard. In my case, my motherboard is Supermicro X9SRL-F as shown in Figure 3.
Assuming that the BIOS and FreeDOS have been downloaded, here are the steps
- Unzip the BIOS and the FreeDOS that were downloaded
- Format thumb drive and dd the FreeDOS to the thumb drive
- copy all the content of the BIOS to the bootable flash drive
- Update the BIOS
- Power off the computer and reset the BIOS
To unzip the downloaded BIOS and FreeDOS zip files. The
-d option is to where to extract the contents of the zip file. The directory name should be automatically created.
unzip FD12FULL.zip -d freedos unzip X9SRL8_B13.zip -d bios
Need to format the thumb drive to be bootable before we
dd the image to the thumb drive. I used the
mkdosfs command to format the drive. Once the FreeDOS has been unzipped, we need to
dd the image file to the thumb drive. My thumb drive is located in
/dev/sdb. Make sure that you select the correct drive to prevent data loss. This will take a few minutes.
umount /run/media/karlo/4279-6E56 mkdosfs -F 32 /dev/sdb dd if=FD12FULL.img of=/dev/sdb bs=4M status=progress
We need to copy the content of the BIOS zip file to the root directory of the thumb drive.
cp -R /home/karlo/Downloads/bios/X9SRL8_B13 /run/media/karlo/FD-SETUP/
The content of the thumb drive should look similar to Figure 4. Once done, eject the thumb drive and plug it to the server.
Reboot the server and depending on the keyboard key, invoke the Boot Menu. In my case, it is F11 as shown in Figure 5.
In the Boot Menu, select the bootable thumb drive. Mine is PNY USB 2.0 FD PMAP.
Once we booted to the FreeDOS, it will prompt us to install the FreeDOS. Decline the installation by selecting No – Return to DOS as shown in Figure 7.
We need to change directory to the X9SRL8_B13 BIOS directory we copied earlier.
Update the BIOS by executing the command
Do not interrupt the process. This will take a few minutes especially at the line – Update success for /FDTT!!.
Once the update completes, power off the PSU by flipping its switch, unplug the power cable for a minute or two, remove the thumb drive then power on the server. Go back to the BIOS settings, and select Restore Optimized Defaults. I found this under the Save & Exit tab. Then reconfigure the BIOS the way it was before resetting it to default. Once done, Save Changes, and Reset.
After updating my BIOS the error went away as shown in Figure 11. Figure 11 is completely different compared to Figure 1.
Hope you will find this useful or at least points you to the right direction. Cheers!