Here is how we updated our Supermicro server X10SLM-F with the latest firmware at the moment.
Our current BIOS firmware version is 2.0
[root@srv ~]# lshw|grep -A 14 "core$" *-core description: Motherboard product: X10SLM-F vendor: Supermicro physical id: 0 version: 1.02 serial: 11111111111 slot: To be filled by O.E.M. *-firmware description: BIOS vendor: American Megatrends Inc. physical id: 0 version: 2.0 date: 04/24/2014 size: 64KiB
STEP 1) Download SUM cli
Here is how you can do it: Update supermicro server’s firmware BIOS under linux with the SUM cli Upload the file in your /root directory.
[root@srv ~]# tar xzvf sum_2.0.0_Linux_x86_64_20171108.tar.gz sum_2.0.0_Linux_x86_64/ sum_2.0.0_Linux_x86_64/ReleaseNote.txt sum_2.0.0_Linux_x86_64/sum sum_2.0.0_Linux_x86_64/ExternalData/ sum_2.0.0_Linux_x86_64/ExternalData/VENID.txt sum_2.0.0_Linux_x86_64/ExternalData/SMCIPID.txt sum_2.0.0_Linux_x86_64/driver/ sum_2.0.0_Linux_x86_64/driver/RHL4_x86_64/ sum_2.0.0_Linux_x86_64/driver/RHL4_x86_64/sum_bios.ko sum_2.0.0_Linux_x86_64/driver/RHL6_x86_64/ sum_2.0.0_Linux_x86_64/driver/RHL6_x86_64/sum_bios.ko sum_2.0.0_Linux_x86_64/driver/RHL5_x86_64/ sum_2.0.0_Linux_x86_64/driver/RHL5_x86_64/sum_bios.ko sum_2.0.0_Linux_x86_64/driver/RHL7_x86_64/ sum_2.0.0_Linux_x86_64/driver/RHL7_x86_64/sum_bios.ko sum_2.0.0_Linux_x86_64/SUM_UserGuide.pdf
Above you can see what files you can expect. The utility is the binary file “/root/sum_2.0.0_Linux_x86_64/sum”.
STEP 2) Download the new firmware from Supermicro site
Upload the firmware file in your /root directory and unzip it with:
[root@srv ~]# unzip X10SLM8_514.zip Archive: X10SLM8_514.zip creating: X10SLM8.514/ inflating: X10SLM8.514/AFUDOSU.SMC inflating: X10SLM8.514/ami.bat inflating: X10SLM8.514/Readme for AMI BIOS.txt inflating: X10SLM8.514/X10SLM8.514
Above you can see what files you can expect. The firmware binary is “X10SLM8.514/X10SLM8.514”.
STEP 3) Update your BIOS firmware with SUM cli
[root@srv ~]# cd sum_2.0.0_Linux_x86_64 [root@srv sum_2.0.0_Linux_x86_64]# ./sum -c UpdateBios --file ../X10SLM8.514/X10SLM8.514 Supermicro Update Manager (for UEFI BIOS) 2.0.0 (2017/11/08) (x86_64) Copyright©2017 Super Micro Computer, Inc. All rights reserved Reading BIOS flash ..................... (100%) Checking BIOS ID ... Writing BIOS flash ..................... (100%) Verifying BIOS flash ................... (100%) Checking ME Firmware ... Putting ME data to BIOS ................ (100%) Writing ME region in BIOS flash ... - Update success for /FDT!! - Updated Recovery Loader to OPRx - Updated FPT, MFSB, FTPR and MFS - ME Entire Image done WARNING:Must power cycle or restart the system for the changes to take effect! [root@srv sum_2.0.0_Linux_x86_64]# reboot
Reboot your machine. After a couple more automatic reboots you’ll end up with updated BIOS firmware. We had 4 or 5 reboots before the system could be used.
STEP 4) Load default/optimized configuration of the new BIOS
It is advisable to load the current BIOS default or optimized configuration, because the new BIOS could have incompatible options with the old one. So enter the BIOS Setup -> Save & Exit -> Restore Optimized Defaults -> Yes and then make your custom configuration if any. At last press “Save Changes and Reset”.
You can see the version is now 3.2 and the Build date is 05/14/2018
BIOS Setup -> Save & Exit -> Restore Optimized Defaults -> Yes
Troubleshooting
In our case the update was successful during the first time, but if you have the following error:
Error message: FDT is different. Please use system reboot(do not shutdown or poweroff system) command to force ME enter manufacturing mode and run UpdateBIOS command again to update BIOS and ME region.
Don’t panic, just reboot and execute the exact command again! The second time everything will be OK as in our more generic article here: Update supermicro server’s firmware BIOS under linux with the SUM cli