Boot 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.

To retrieve the active boot configuration, run:

Copy
Copied!
            

curl -k -u root:'<password>' -X GET https://<bmc_ip>/redfish/v1/Systems/Bluefield

Note

The relevant configurations would be under "Boot".

To retrieve the pending boot settings:

Copy
Copied!
            

curl -k -u root:'<password>' -X GET https://<bmc_ip>/redfish/v1/Systems/Bluefield/Settings

To retrieve all boot options:

Copy
Copied!
            

curl -k -u root:'<password>' -X GET https://<bmc_ip>/redfish/v1/Systems/Bluefield/BootOptions/

To retrieve detailed information on a specific boot option:

Copy
Copied!
            

curl -k -u root:'<password>' -X GET https://<bmc_ip>/redfish/v1/Systems/Bluefield/BootOptions/<boot-option>

To alter boot configuration, applying patches to the setting attribute is required :

Copy
Copied!
            

curl -k -u root:'<password>' -X PATCH https://<bmc_ip>/redfish/v1/Systems/Bluefield/Settings -d '{"Boot":{ ... }}'

Change BootOrder Configuration Example

To get the supported boot options:

Copy
Copied!
            

curl -k -u root:<password>' -X GET https://<bmc_ip>/redfish/v1/Systems/Bluefield/BootOptions { "@odata.id": "/redfish/v1/Systems/Bluefield/BootOptions", "@odata.type": "#BootOptionCollection.BootOptionCollection", "Members": [ { "@odata.id": "/redfish/v1/Systems/Bluefield/BootOptions/Boot0000" }, { "@odata.id": "/redfish/v1/Systems/Bluefield/BootOptions/Boot000A" }, { "@odata.id": "/redfish/v1/Systems/Bluefield/BootOptions/Boot000B" }, { "@odata.id": "/redfish/v1/Systems/Bluefield/BootOptions/Boot000C" }, { "@odata.id": "/redfish/v1/Systems/Bluefield/BootOptions/Boot000D" }, { "@odata.id": "/redfish/v1/Systems/Bluefield/BootOptions/Boot000E" }, { "@odata.id": "/redfish/v1/Systems/Bluefield/BootOptions/Boot000F" }, { "@odata.id": "/redfish/v1/Systems/Bluefield/BootOptions/Boot0001" }, { "@odata.id": "/redfish/v1/Systems/Bluefield/BootOptions/Boot0002" }, { "@odata.id": "/redfish/v1/Systems/Bluefield/BootOptions/Boot0003" }, { "@odata.id": "/redfish/v1/Systems/Bluefield/BootOptions/Boot0004" }, { "@odata.id": "/redfish/v1/Systems/Bluefield/BootOptions/Boot0005" }, { "@odata.id": "/redfish/v1/Systems/Bluefield/BootOptions/Boot0006" }, { "@odata.id": "/redfish/v1/Systems/Bluefield/BootOptions/Boot0007" }, { "@odata.id": "/redfish/v1/Systems/Bluefield/BootOptions/Boot0008" }, { "@odata.id": "/redfish/v1/Systems/Bluefield/BootOptions/Boot0009" }, { "@odata.id": "/redfish/v1/Systems/Bluefield/BootOptions/Boot0010" }, { "@odata.id": "/redfish/v1/Systems/Bluefield/BootOptions/Boot0011" }, { "@odata.id": "/redfish/v1/Systems/Bluefield/BootOptions/Boot0012" }, { "@odata.id": "/redfish/v1/Systems/Bluefield/BootOptions/Boot0013" }, { "@odata.id": "/redfish/v1/Systems/Bluefield/BootOptions/Boot0014" }, { "@odata.id": "/redfish/v1/Systems/Bluefield/BootOptions/Boot0015" }, { "@odata.id": "/redfish/v1/Systems/Bluefield/BootOptions/Boot0016" }, { "@odata.id": "/redfish/v1/Systems/Bluefield/BootOptions/Boot0017" }, { "@odata.id": "/redfish/v1/Systems/Bluefield/BootOptions/Boot0040" } ], "Members@odata.count": 25, "Name": "Boot Option Collection" }

To set the pending boot order settings:

Copy
Copied!
            

curl -k -u root:'<password>' -X PATCH https://<bmc_ip>/redfish/v1/Systems/Bluefield/Settings -d '{"Boot":{ "BootOrder": "Boot0040", "Boot0017", "Boot0000", "Boot0001", "Boot0002", "Boot0003", "Boot0004", "Boot0005", "Boot0006", "Boot0007", "Boot0008", "Boot0009", "Boot000A", "Boot000B", "Boot000C", "Boot000D", "Boot000E", "Boot000F", "Boot0010", "Boot0011", "Boot0012", "Boot0013", "Boot0014", "Boot0015", "Boot0016"] }}'

Note

All active boot options in the active BootOrder list should be included in this list.

In this example, 25 boot options are present. Therefore, the command to establish the boot option order must encompass all available options in accordance with the desired sequence.

Warning

Power reset of the DPU is necessary for the changes to take effect.


Change Boot Configuration Example

To set boot configuration, it is necessary to post to settings. For example:

Copy
Copied!
            

curl -k -u root:'<password>' -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

The ipmitool only provides the ability to manage the override boot option and configure the system to boot from a PXE server.

  • Get current setting:

    Copy
    Copied!
                

    ipmitool chassis bootparam get 5

  • Force PXE boot:

    Copy
    Copied!
                

    ipmitool chassis bootdev pxe options=efiboot

  • Default boot device:

    Copy
    Copied!
                

    ipmitool chassis bootparam set bootflag none

Warning

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.

© Copyright 2023, NVIDIA. Last updated on Feb 8, 2024.