代码仓
中
固件升级指导
更新时间: 2026/04/16
在AtomGit上查看源码

固件升级接口由多个,其中包括web页面升级,cli命令升级,Redfish接口升级,snmp接口升级及ipmi命令升级等,但是常用的有web页面升级及cli升级,下文将分别介绍。

web页面升级 ​

操作位置:iBMC管理>>固件升级>>固件更新

cli命令升级 ​

xshell登录后,下发如下命令即可升级:

Redfish命令升级 ​

  • URL POST https://<device_ip>/redfish/v1/UpdateService/Actions/Oem/{{OemIdentifier}}/UpdateService.ParallelUpdate
  • 请求头:
    X-Auth-Token : auth_value
    Content-Type : header_type
  • 请求消息体:
json
    {
        "Packages": packages_value,
        "Stage": true
    }
参数参数说明取值
device_ip登录设备的IP地址IPv4或IPv6地址
auth_value请求消息的鉴权参数可通过/redfish/v1/SessionService/Sessions创建会话时获得
header_type请求消息的格式支持的消息格式包括:application/json或者application/json;charset=utf-8
packages_value升级参数对象数组,内容如下:
SystemId
TransferProtocol
ImageURI
ForceUpdate
Stage
SystemIdMulti-Host场景(一个BMC管理多个host主机)下指定升级某host的固件字符串[1~N]:表示升级第[1~N]个host上的固件,要求对应的host在位
TransferProtocolBMC从远程服务器下载升级包时使用的协议取值:HTTPS、SCP、SFTP、CIFS、NFS。本地升级不需要该字段
ImageURI升级包所在路径升级包的URL(支持本地tmp目录升级),本地tmp目录支持的最大长度为255个字符,远程目录支持的最大长度为1004个字符(传输协议长度不计算在内,如"sftp://")
ForceUpdate固件是否强制升级true:版本号一致的固件升级
false:版本号一致的固件不升级
可选参数,如果不加该参数,默认为版本号一致的固件升级
Stage固件是否暂存true:暂存
false:不暂存
可选参数,不加该参数默认为不暂存

SNMP接口升级 ​

启动升级

snmpset -t 10 -v3 -l priv -a <SNMPv3鉴权算法> -X <SNMPv3加密算法> -u <username> -A <password> -X <SNMPv3加密密码> <bmc_ip:端口> 1.3.6.1.4.1.{SnmpOemIdentifier}.30.1.0 s <filepath>

查看升级状态

snmpget -t 10 -v3 -l priv -a <SNMPv3鉴权算法> -X <SNMPv3加密算法> -u <username> -A <password> -X <SNMPv3加密密码> <bmc_ip:端口> 1.3.6.1.4.1.{SnmpOemIdentifier}.30.2.0

IPMI命令升级 ​

启动升级

ipmitool -H <bmc_ip> -I lanplus -p 623 -U <username> -P <password> -C 17 raw 0x30 0x91 <manufacture_id(三个字节)> 0x06 0xaa 0x00 0x00 <flag> <length> <filepath>
  • flag :[0-6]:offset [7]级联标志,0=最后一帧数据 1=后面还有数据
  • length:本帧数据的长度
  • filepath:路径名,单帧请求不超过16个字节

例:

ipmitool -H <bmc_ip> -I lanplus -p 623 -U <username> -P <password> -C 17 raw 0x30 0x91 <manufacture_id(三个字节)> 0x06 0xaa 0x00 0x00 0x00(flag) 0x0c(length,此处为/tmp/BMC.hpm的长度,即12个字节) 0x2f 0x74 0x6d 0x70 0x2f 0x42 0x4d 0x43 0x2e 0x68 0x70 0x6d(filepath,此处为/tmp/BMC.hpm)