BIOS Configuration

BMC supports configuring the NVIDIA® BlueField®'s BIOS using Redfish commands.

Copy
Copied!
            

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

Output example:

Note

In the following output, there is only one BIOS attribute, UefiPassword.

Copy
Copied!
            

{ "@odata.type": "#AttributeRegistry.v1_3_6.AttributeRegistry", "Description": "This registry defines a representation of BIOS attribute instances", "Id": "BiosAttributeRegistry", "Language": "en", "Name": "BF2 BIOS Attribute Registry", "OwningEntity": "NVIDIA BlueField", "RegistryEntries": { "Attributes": [ { "AttributeName": "UefiPassword", "CurrentValue": "", "DisplayName": "New UEFI Password", "DisplayOrder": 16, "HelpText": "Set the UEFI password.", "Hidden": false, "Immutable": false, "MaxLength": 50, "MenuPath": "./SystemConfiguration/UefiPassword", "MinLength": 0, "ReadOnly": false, "ResetRequired": false, "Type": "String", "WriteOnly": false } ], "Dependencies": [], "Menus": [ { "DisplayName": "Set the UEFI Password.", "DisplayOrder": 18, "Hidden": false, "MenuName": "UefiPassword", "MenuPath": "./SystemConfiguration/UefiPassword", "ReadOnly": false } ] }, "RegistryVersion": "1.0.0", "SupportedSystems": [ { "FirmwareVersion": "BlueField:4.2.0-33-gbe969d4", "ProductName": "NVIDIA BF2", "SystemId": "BF2-DPU" } ] }

Copy
Copied!
            

curl -k -u root:'<password>' -H Content-Type: application/octet-stream -X GET https://<bmc_ip>/redfish/v1/Systems/Bluefield/Bios/

Output example:

Note

The current value of UefiPassword is an empty string.

Copy
Copied!
            

{ "@Redfish.Settings": { "@odata.type": "#Settings.v1_3_5.Settings", "SettingsObject": { "@odata.id": "/redfish/v1/Systems/Bluefield/Bios/Settings" } }, "@odata.id": "/redfish/v1/Systems/Bluefield/Bios", "@odata.type": "#Bios.v1_2_0.Bios", "Actions": { "#Bios.ChangePassword": { "target": "/redfish/v1/Systems/Bluefield/Bios/Actions/Bios.ChangePassword" }, "#Bios.ResetBios": { "target": "/redfish/v1/Systems/Bluefield/Bios/Actions/Bios.ResetBios" } }, "Attributes": { "UefiPassword": "" }, "Description": "BIOS Configuration Service", "Id": "BIOS", "Name": "BIOS Configuration", "ResetBiosToDefaultsPending": false }

Copy
Copied!
            

curl -k -u root:'<password>' -X PATCH https://<bmc_ip>/redfish/v1/Systems/Bluefield/Bios/Settings -d '{Attributes:{<attribute Name> : <attribute Value>}}'

This command example requests changing the UefiPassword attribute to NewPassword123. At the next boot cycle of the DPU, the UEFI changes the requested attribute if the requested value is valid.

Copy
Copied!
            

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

Pending values are a list of values that that user has requested to change. The list of pending values is purged once the UEFI changes the pending attributes.

Output example:

Note

UefiPassword appears in the pending attributes list.

Copy
Copied!
            

{ "@odata.id": "/redfish/v1/Systems/Bluefield/Bios/Settings", "@odata.type": "#Bios.v1_2_0.Bios", "Attributes": { "UefiPassword": "NewPassword123" }, "Description": "BIOS Settings", "Id": "BIOS_Settings", "Name": "BIOS Configuration" }

Note

The active BIOS attribute list is updated only after the UEFI approves the changes during the next reboot cycle.

Changing Default UEFI Password Using Redfish

  1. Check the UEFI attributes and their values by performing a GET on BIOS URL over 1GbE OOB to the DPU BMC.

  2. Look for the "Attributes" property to make sure the UEFI version being used has all the necessary attributes. See section "Get BIOS Attributes List" for instructions.

  3. Perform PATCH to BIOS pending settings URI over 1GbE OOB to the DPU BMC as follows:

    Copy
    Copied!
                

    curl -k -X PATCH -d '{"Attributes":{"CurrentUefiPassword": "CURRENTPASSWD", "UefiPassword": "NEWPASSWORD"}}' -u root:<password> https://<DPU-BMC-IP>/redfish/v1/Systems/<SystemID>/Bios/Settings | python3 -m json.tool

  4. To confirm whether the PATCH request completed successfully, trigger a GET to the BIOS pending settings URI over 1GbE OOB to the DPU BMC:

    Copy
    Copied!
                

    curl -k -X GET -u root:<password> https://<DPU-BMC-IP>/redfish/v1/Systems/<SystemID>/Bios/Settings | python3 -m json.tool

  5. Reboot the DPU using the Redfish manager schema over 1GbE OOB to the DPU BMC. See section "Reboot BMC Redfish Command" for instructions.

  6. If the "CurrentUefiPassword" is correct, then the UEFI password is updated during the UEFI Redfish phase of the boot.

Changing UEFI Password

Copy
Copied!
            

curl -k -u root:<password> -X PATCH -H "Content-Type: application/json" https://<bmc_ip>/redfish/v1/Systems/Bluefield/Bios/Settings -d '{"Attributes":{"CurrentUefiPassword":"CurrentPassword", "UefiPassword":"NewPassword321"}}'


© Copyright 2023, NVIDIA. Last updated on Mar 3, 2024.