更新您的 QSPI 启动固件#

使用本文档了解如何在您的 IGX 板卡上更新 QSPI 启动固件。您可能拥有以下 IGX 板卡之一

  • NVIDIA IGX 开发者套件 — 开发者套件包含预生产 TS3 板卡。

  • NVIDIA IGX Orin 板卡套件 — Orin 板卡套件包含生产 QS2 板卡。

使用本文档执行以下任务

确定您的 IGX 板卡是 TS3 还是 QS2#

有两种方法可以判断您的 IGX 配备的是预生产 TS3 板卡还是生产 QS2 板卡。

  • 选项 1 — 目视检查板卡。如果 IGX 背板 USB 端口是蓝色的,则是 TS3。如果 IGX 背板 USB 端口是黑色的,则是 QS2。有关更多信息,请参阅 系统概述

  • 选项 1 — 从 BMC 运行以下代码。

    1root@mgx-3809:~# i2cdump -f -y 10 0x50
    

    结果应如下所示。

    1No size specified (using byte-data access)
    2     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f    0123456789abcdef
    300: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 4e    ...............N
    410: 56 49 44 49 41 c5 50 33 38 30 39 cd 00 00 00 00    VIDIA?P3809?....
    520: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 31 33    .............-13
    630: 38 30 39 2d 30 33 30 30 2d 51 53 32 00 00 00 00    809-0300-QS2....
    

    按如下方式使用索引 0x39 到 0x3b 的结果

    • QS2 - QS2 板卡

    • TS3 - TS3 板卡

更新 TS3 的 QSPI 启动固件#

如果您的 IGX 板卡类型为 TS3,则无法使用 BMC Web UI 或 Redfish API 更新您的 QSPI 启动固件。请改用以下步骤更新您的 QSPI 启动固件。

  1. 将 USB-C 数据线从 Linux 主机连接到 USB-C 接口。有关更多信息,请参阅 系统概述

  2. 通过执行以下操作之一,将 IGX 置于恢复模式

    • 从 BMC,运行命令 powerctrl recovery

    — 或 —

    • 从运行 Orin 的 IGX OS 系统,运行命令 sudo reboot forced-recovery

  3. 在您的 Linux 主机计算机上,从 IGX 下载中心 下载引导加载程序 (BSP) 包

  4. 在主机计算机上,运行以下代码。

    1tar xvf Jetson_Linux_R36.x.x_aarch64.tbz2
    2cd Linux_for_Tegra
    3sudo ./flash.sh p3740-0002-p3701-0008-qspi external.
    

    等待更新完成。更新可能需要 7-10 分钟或更长时间。

更新 QS2 的 QSPI 启动固件#

如果 IGX 是 QS2 板卡,请使用以下命令行说明更新您的 QSPI 启动固件。IGX BMC 可以刷写 QSPI 固件。最新的 QSPI 固件文件已经是 IGX BSP 的一部分。但是,我们建议您使用 BMC Web 用户界面 刷写 QSPI。

注意

BMC Web 用户界面仅适用于 BMC 固件版本 24.04-11-v3.2 或更高版本。

要更新您的 QSPI 固件,请使用以下步骤。更新可能需要 7-10 分钟或更长时间。

  1. 通过运行以下代码,将您的 BMC 的 IP 地址保存为环境变量。将 <BMC_IP> 替换为您的 IP 地址,例如 192.168.1.110。

    1export bmc=<BMC_IP>
    
  2. 登录到您的 BMC,并通过运行以下代码将您的访问令牌保存为环境变量。将 <BMC_Password> 更改为您的密码。

    1export token=`curl -k \
    2                   -H "Content-Type: application/json" \
    3                   -X POST https://$bmc/login \
    4                   -d '{"username": "root", "password": "<BMC_Password>"}' | grep token | awk '{print $2;}' | tr -d '"'`
    
  3. 要开始更新,请运行以下代码。您将任务 ID 保存为环境变量,以便可以在下一步中检查更新状态。

    1export task_id=$(curl -k \
    2                      -H "X-Auth-Token: $token" \
    3                      -H "Content-Type: application/octet-stream" \
    4                      -X POST https://$bmc/redfish/v1/UpdateService \
    5                      -T "<path and filename of igx-qspi-flash.fwpkg>" | jq -r ".Id")
    
  4. 要检查更新状态,请运行以下代码。更新完成后,任务状态为 completed

    1curl -k \
    2     -H "X-Auth-Token: $token" \
    3     -X GET https://$bmc/redfish/v1/TaskService/Tasks/$task_id