Upgrading the BMC software is simple process but requires physical access to the system. Physical access is required as the power cables need to be disconnected after BMC upgrade has been completed.
Retrieve the current BMC version as follows
sudo ipmitool bmc info
Example output
fmadio@fmadio100v2-228U:/opt/fmadio/firmware/bmc$ sudo ipmitool bmc info
Device ID : 32
Device Revision : 1
Firmware Revision : 12.41
IPMI Version : 2.0
Manufacturer ID : 15370
Manufacturer Name : Unknown (0x3C0A)
Product ID : 308 (0x0134)
Product Name : Unknown (0x134)
Device Available : yes
Provides Device SDRs : yes
Additional Device Support :
Sensor Device
SDR Repository Device
SEL Device
FRU Inventory Device
IPMB Event Receiver
IPMB Event Generator
Chassis Device
Aux Firmware Rev Info :
0x0b
0x00
0x00
0x00
fmadio@fmadio100v2-228U:/opt/fmadio/firmware/bmc$
The key value difference is shown below, the firmware gets upgraded to version 0xd shown below. If the system already shows version 0xd there is no need to upgrade the BMC software
Run the BMC update in the following directory
cd /opt/fmadio/firmware/bmc/
Then run the update program
sudo ./flash64.sh
Enter Y for preserve configuration settings.
The process will take several minutes to complete
fmadio@fmadio100v2-228U:/opt/fmadio/firmware/bmc$ sudo ./flash64.sh
chmod: gigaflash_x64: Read-only file system
chmod: socflash_x64: Read-only file system
gigaflash v1.6.3
Do you want to preserve configuration? (Y/n)
Y
Loading Firmware...
Update Firmware
Wait 90 seconds for BMC Ready...
fmadio@fmadio100v2-228U:/opt/fmadio/firmware/bmc$
Disconnect the AC power from the system. Wait for 1 minute
Reconnect AC power to the system
Wait 5minutes for the BMC to fully reboot and host system boot
Reboot the linux Host server
sudo reboot
After host linux system has rebooted, Check BMC version is updated. It should show version 0xD per image below
sudo ipmitool bmc info
Update is complete
BMC upgrade to version 12.60.39 resolves CVEs and makes possible boot without prompt when enabling full disk encryption.
From FW: 8940 the BMC firmware is located in
/opt/fmadio/firmware/bmc/
As the version jump from the factory installed to this version is very large, all BMC settings are lost durning the upgrade, and need to be set again.
This includes BMC Network information, meaning BMC network connectivity will be lost during this process
In addition BMC passwords and other items are also lost. The way to update this is via the FMADIO x86 Host system, where the host is always powered on enabling it to set the BMC Network settings and User passwords directly.
After updating the FMADIO Firmware the following files are located at
Copy the files as follows
sudo cp startup.nsh /mnt/system/
sudo cp -RL EFI /mnt/system/
NOTE: -L in the cp forces a literal copy (no sym links)
Start the BMC update process using the following commands on the FMADIO host system
cd /opt/fmadio/firmware/bmc/bmc/
sudo ./bmc_fw_update_linux.sh
Example output shown below, it will take about 5minutes to run.
Note the warning, Do you want preseve configuration, enter N
After the BMC is flashed and has rebooted confirm the new BMC version is 12.61.01 using the following command
sudo ipmitool bmc info
The output should look like the following
Set the new network configuration information.
Set to use static ip per below
sudo ipmitool lan set 1 ipsrc static
Set a new IP address, netmask and gateway, replace addresses with the assigned BMC network address
sudo ipmitool lan set 1 ipaddr 192.168.2.173
sudo ipmitool lan set 1 netmask 255.255.255.0
sudo ipmitool lan set 1 defgw ipaddr 192.168.2.254
At this point the network should be reachable via ping, however the username password will be reverted to the default setting.
Confirm the network settings using the command
sudo ipmitool lan print
Example output is shown below
The BMC webpage should be accessible at this point.
The BMC update will delete all the settings, these need to be added back
First one is to set the admin password as follows, replacing "secret" with the password chosen
sudo ipmitool user set password 2 secret
After setting this, logging into the BMC using the admin account and above password.
As all BMC settings are disabled, the first critical setting is a custom FAN profile. Usually this is set at the factory however it needs to be created again after the BMC update
Then copy the default fan profile as follows
The new fan profile is named "fmadio100v2" with the following settings. Ensure all CPU sensor and all FANs are selected
Click Save
Finally activate the profile
Disable all remote media settings as follows
BIOS update, bios update is located in
/opt/fmadio/firmware/bmc/bios_r23
Files look like the following
To update the BIOS run the command
sudo ./f.sh
It will take a few minutes to update, the console output looks like the following
Then power off the system + power it on
A full power off is required to load the new BIOS
After BIOS update all settings are lost and need to be set-again, the system will fail to boot also as the BIOS settings have not been configured
Setting the Boot settings as follows
Advanced -> Trusted computing set the following
Advanced -> Serial Port Console
Advance -> PCIe Subsystem, configure as follows
Advanced -> Network Stack
Advance -> NVMe Configuration, configure as follows
Advanced -> Chipset Configuration
Boot configure as follows
Boot -> UEFI Application Boot Priorities
Save changes and exit
System boot will look different as it now boots via UEFI, similar to the following.
After boot completation the usual prompt will be shown on both the VGA and Serial ports
The system should boot normally now without any BIOS password prompt.
Finished... horary.