To upgrade BIOS on SUPERMICRO servers first find the newest BIOS version by looking up your motherboard model and googling it.
In my case, this is an X10SLM-F model with BIOS version 2.7, and as stated on their website: https://www.supermicro.com/en/products/motherboard/X10SLM-F the latest version of BIOS is 3.4 so we are going to update it.
The first thing is to download the newest BIOS version from the official website.
Then create a bootable USB drive (I used Rufus) and make sure to select the FreeDOS option:
and after formatting the USB, extract and copy the downloaded files to it:
Plug-in the USB drive into the server and power it.
Press F11 to enter the boot menu, then select your USB device (must be formatted as FreeDOS)
After the DOS opens, type in the filename of .bat file followed by the BIOS version, for my motherboard model those are:
ami.bat X10SLM1.308
after the upgrade is done, reboot the server and head over to BIS to check the version.
Note that if you are using IPMI, the server will first initialze IPMI and then reboot again.