Boot Order Configuration
BMC supports boot option selection commands using the Redfish or IPMI interfaces. UEFI on NVIDIA® BlueField® can query for the boot options through an IPMI/Redfish command. The BMC IPMI command only supports the option to change the boot device selector flag with the following supported options: PXE boot or the default boot device as selected in the boot menu on BlueField. While the Redfish interface supports all available boot options.
Get current setting:
ipmitool chassis bootparam get 5
Force PXE boot:
ipmitool chassis bootdev pxe options=efiboot
Default boot device:
ipmitool chassis bootparam set bootflag none
If Redfish is enabled on UEFI, force PXE from IPMI is ignored.
The DPU boot override setting from BMC is persistent until it is set to none or the BFB image is updated again.
To retrieve the active boot configuration, run:
curl -k -H "X-Auth-Token: <token>" -X GET https://<bmc_ip>/redfish/v1/Systems/Bluefield
The relevant configurations would be under "Boot".
To retrieve the pending boot order settings:
curl -k -H "X-Auth-Token: <token>" -X GET https://<bmc_ip>/redfish/v1/Systems/Bluefield/Settings
To set the pending boot order settings:
curl -k -H "X-Auth-Token: <token>" -X PATCH https://<bmc_ip>/redfish/v1/Systems/Bluefield/Settings -d '{"Boot":{ "BootOrder": ["Boot0001", "Boot0040","Boot0000","Boot0002","Boot0003", "Boot0004","Boot0005", "Boot0007","Boot0008","Boot0009","Boot000A","Boot000B", "Boot000C", "Boot000D", "Boot000E", "Boot0013", "Boot0014", "Boot0015","Boot0016", "Boot0017","Boot0018", "Boot0019", "Boot001A","Boot000F","Boot0010","Boot0011", "Boot0012", "Boot0006"] }}'
All active boot options in the active BootOrder list should be included in this list.
Power cycle is necessary for the changes to take effect.
To set boot configuration, it is necessary to post to settings. For example:
curl -k -H "X-Auth-Token: <token>" -X PATCH https://<bmc_ip>/redfish/v1/Systems/Bluefield/Settings -d '{
"Boot":{
"BootSourceOverrideEnabled": "Once",
"BootSourceOverrideMode": "UEFI",
"BootSourceOverrideTarget": "UefiHttp",
"UefiTargetBootSourceOverride": "None",
"BootNext": "",
"AutomaticRetryConfig": "Disabled",
}
}'
BootSourceOverrideEnabled – should be set according to the values under redfish/v1/Systems/Bluefield -> Boot/BootSourceOverrideEnabled@Redfish.AllowableValues
BootSourceOverrideMode – should be set according to the values under redfish/v1/Systems/Bluefield -> Boot/BootSourceOverrideMode@Redfish.AllowableValues
BootSourceOverrideTarget – should be set according to the values under redfish/v1/Systems/Bluefield -> Boot/BootSourceOverrideTarget@Redfish.AllowableValues
UefiTargetBootSourceOverride – this option would be available in the RF JSON if BootSourceOverrideTarget is set to UefiTarget.
BootNext – this option would be in the RF JSON if BootSourceOverrideTarget is set to UefiBootnext.
AutomaticRetryConfig – only Disabled is supported