Supermicro uses AMI Aptio BIOS.
AMI provides SCE utility (scelnx for Linux) to change BIOS setting by scripts.
Firstly you need to dump current BIOS settings to know settings UUIDs:
scelnx /b /o /s /root/settings.lst
You may change needed values right in the file (by moving *
sign to the desired value) and then load file by the next command:
scelnx /b /i /s /root/settings.lst
Or you may create your own file with only necessary lines (first three lines including blank line are required):
cat > /root/settings.lst << 'EOF'
// Script File
HIICrc32=
// Enable the Rank Margining Tool
Setup Question = Rank Margin Tool
Token =B4A // Do NOT change this line
Offset =1127
Width =01
BIOS Default =[02]Auto
Options =[02]Auto // Move "*" to the desired Option
[00]Disabled
*[01]Enabled
// Adjust the MRC Serial Debug Message level
Setup Question = Serial Debug Message Level
Token =1C // Do NOT change this line
Offset =2D4
Width =01
BIOS Default =[00]Disable
Options =[00]Disable // Move "*" to the desired Option
[01]Minimum
[02]Normal
*[03]Maximum
// Confirm the Pattern Length value
Setup Question = RMT Pattern Length
Token =B4B // Do NOT change this line
Offset =10ED
Width =04
BIOS Default =7FFF
Value =7FFF
// Turn on/off Per Bit Margin option
Setup Question = Per Bit Margin
Token =B4D // Do NOT change this line
Offset =113A
Width =01
BIOS Default =[02]Auto
Options =[02]Auto // Move "*" to the desired Option
[00]Disable
*[01]Enable
EOF
For other platforms you may find list of configuration utilities in Intel doc. #333845-003: https://www.intel.ru/content/dam/www/public/us/en/videos/guides/platform-trust-enabler-product-guide.pdf (pg. 12, 4.0 OEM Support Matrix)
Modern platforms also can use x-UEFI Scriptable Configuration:
https://firmware.intel.com/sites/default/files/STTS001%20-%20SZ16_STTS001_102m_ENGf.pdf
http://www.uefi.org/confignamespace