更新您的 MCU 固件#

使用以下命令行指令更新您的 MCU 固件。但是,我们建议您使用 BMC Web 用户界面 刷写 MCU。

注意

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

IGX BMC 可以刷写 MCU 固件并升级 MCU。最新的 MCU 固件文件已包含在 IGX BSP 中。

通过使用 Redfish 更新您的 MCU 固件#

要更新您的 MCU 固件,请使用以下步骤。更新可能需要 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 the MCU PLDM package>" | jq -r ".Id")
    
  4. 要检查更新状态,请运行以下代码。更新完成后,任务状态为 completed

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

手动更新您的 MCU 固件#

使用以下步骤手动更新您的 MCU 固件。

  1. 通过使用以下命令,转到 mcu-flash 目录。

    1root@mgx-3809:~# cd /etc/smcu-flash
    
  2. 通过使用 scp,将 MCU 固件文件从软件包复制到 BMC。

  3. 停止控制台服务。

    1root@mgx-3809:~# systemctl stop obmc-console\@ttyS2.service
    
  4. 刷写 MCU 固件并提供 MCU 固件文件路径。

    1./flash_tc39x.py <serial port> 921600 <FW File>
    

    例如

    root@mgx-3809:~# ./flash_tc39x.py ttyS2 921600 ./P3740_TC39x_Aurix.hex
    
  5. 启动控制台。

    1systemctl start obmc-console\@ttyS2.service