Appendix B - Using Boot Order Schema to Set Boot Order

  1. Check the current boot order by doing GET on the ComputerSystem schema over 1GbE OOB to the DPU BMC. Look for the BootOrder attribute under the Boot.

    Copy
    Copied!
                

    curl -k -X GET -u root:<password> https://<DPU-BMC-IP>/redfish/v1/Systems/<SystemID>/ | python3 -m json.tool { .... "Boot": { .... "BootOrder": [ "Boot0017", "Boot0001", "Boot0002", "Boot0003", "Boot0004", "Boot0005", "Boot0006", "Boot0007", ], .... } .... }

  2. To get the details of a particular entity in the BootOrder array, perform a GET to the respective BootOption URL over 1GbE OOB to the DPU BMC. For example, to get details of Boot0006, run:

    Copy
    Copied!
                

    curl -k -X GET -u root:<password> https://<DPU-BMC-IP>/redfish/v1/Systems/<SystemID>/BootOptions/Boot0006 | python3 -m json.tool   { "@odata.type": "#BootOption.v1_0_3.BootOption", "@odata.id": "/redfish/v1/Systems/SystemId/BootOptions/Boot0006", "Id": "Boot0006", "BootOptionEnabled": true, "BootOptionReference": "Boot0006", "DisplayName": "UEFI HTTPv6 (MAC:B8CEF6B8A006)", "UefiDevicePath": "PciRoot(0x0)/Pci(0x0,0x0)/Pci(0x0,0x0)/Pci(0x0,0x0)/Pci(0x0,0x0)/MAC(B8CEF6B8A006,0x1)/IPv6(0000:0000:0000:0000:0000:0000:0000:0000,0x0,Static,0000:0000:0000:0000:0000:0000:0000:0000,0x40,0000:0000:0000:0000:0000:0000:0000:0000)/Uri()" }

  3. To change the boot order, the entire BootOrder array must be PATCHed to the pending settings URI. For this example of the BootOrder array, if you intend to have Boot0006 at the beginning of the array, then the PATCH operation is as follows:

    Warning

    Updating the BootOrder array results in a permanent boot order change (persistent across reboots).

    Copy
    Copied!
                

    curl -k -u root:<password> -X PATCH -d '{ "Boot": { "BootOrder": [ "Boot0006", "Boot0017", "Boot0001", "Boot0002", "Boot0003", "Boot0004", "Boot0005", "Boot0007", ] }}' https://<DPU-BMC-IP>/redfish/v1/Systems/<SystemID>/Settings | python3 -m json.tool

  4. After a successful PATCH, reboot the DPU and check if the settings have been applied by doing a GET on the ComputerSystem schema.

  5. If the BootOrder array is updated as intended then the settings have been applied and the DPU should boot as per the order in preceding cycles.

© Copyright 2023, NVIDIA. Last updated on Dec 4, 2023.