// 此模板仅供参考,如果不适用可以修改
问题描述
S920 X20 S20带内升级BMC等固件方法指导
期望结果
带内刷新固件接口
答案内容由AI生成,仅供参考:
| 方法 | 优势 | 推荐指数 |
|---|---|---|
| uREST | 操作简单、流程完整 | |
| ipmitool | 通用性强、兼容性好 |
对于 S920X20 平台,建议优先使用 uREST 工具完成带内 BMC 固件升级。若无该工具,则严格按照 ipmitool 分步流程操作,并确保每一步成功后再进入下一阶段。
提示:如需获取完整命令模板或脚本自动化支持,可在 openUBMC 社区请求协助。
本文基于 S920X20 硬件平台,结合知识库与相关技术文档,提供在该设备上执行 带内(In-Band)升级 BMC 及其他固件 的详细方法指导。适用于测试、开发或产线环境下的固件更新需求。
风险提示:带内升级过程中若发生断电或中断连接,可能导致 BMC 变砖,请确保操作环境稳定。
| 固件类型 | 是否支持带内升级 | 备注 |
|---|---|---|
| BMC | 主要目标 | |
| BIOS | 支持普通/无感升级 | |
| CPLD | 依赖 JTAG/IPMB 链路 | |
| RAID卡/NPU等扩展卡 | 需适配驱动与协议 |
| 项目 | 推荐配置 |
|---|---|
| 操作系统 | CentOS/RHEL 7+/Ubuntu 20.04+,麒麟 V10 |
| 工具包 | ipmitool、uREST、redfish-client |
| 网络 | BMC 已配置 IPv4/IPv6 地址,可通信 |
| 权限 | 当前用户具有 root 或管理员权限 |
| 固件包 | 准备适用于 S920X20 的 .hpm 格式固件包(如:S920X20-S920X21-GBMC_5.05.12.25.hpm) |
# 安装 ipmitool(以 Ubuntu 为例)
sudo apt-get install ipmitool
# 加载 veth 驱动(用于 IPv6 带内通信)
modprobe host_veth_drv
ifconfig veth up
uREST 工具(推荐)uREST 是华为提供的统一 RESTful 接口客户端,支持通过 Redfish 协议执行带内固件升级,操作简洁且自动化程度高。
# 命令格式
./urest -H [BMC_IPv6] -U Administrator upgradefw -i /path/to/firmware.hpm -PRO [scp/sftp] -U [access_user]
# 示例:通过 IPv6 地址执行升级
./urest -H [fe80::9e7d:a3ff:fe28:6ffa%veth] -U Administrator upgradefw -i ~/image.hpm -PRO scp -U root
| 参数 | 说明 |
|---|---|
-H |
BMC 的 IPv6 地址(可从 ipmitool lan6 print 获取) |
-U |
BMC 登录用户名 |
-i |
固件文件路径 |
-PRO |
传输协议(scp/sftp/nfs) |
-U |
文件传输账户 |
优势:一键完成上传+升级+校验,无需手动控制流程。
ipmitool 命令执行(标准流程)适用于未安装 uREST 的环境,需手动分步执行。
部分系统默认禁用私有命令,需先开启:
ipmitool raw 0x30 0x90 0x20 0xdb 0x07 0x00 0x01
其中
0xdb 0x07 0x00为华为 IANA 标识的小端序。
通过 SCP 上传至 BMC 的 /tmp 目录:
scp -6 image.hpm root@[fe80::9e7d:a3ff:fe28:6ffa%veth]:/tmp/image.hpm
必须上传至
/tmp路径,否则后续命令无法识别。
ipmitool raw 0x30 0x91 0xdb 0x07 0x00 0x06 0xAA 0x00 0x01 0x00 0x0E 0x2F 0x74 0x6D 0x70 0x2F 0x69 0x6D 0x61 0x67 0x65 0x2E 0x68 0x70 0x6D
0x2F... 是 /tmp/image.hpm 的 ASCII 编码。ipmitool raw 0x30 0x91 0xdb 0x07 0x00 0x06 0x00
返回值解释:
00:准备中01~FF:升级百分比(如 64 表示 100%)CD:完成# 设置自动重启标志
ipmitool raw 0x30 0x91 0xdb 0x07 0x00 0x06 0xCD
# 或手动重启 BMC
ipmicmd -k "0f 00 06 02" smi 0
ipmitool mc info
检查输出中 Firmware Revision 是否已更新为新版本。
示例输出:
Device ID : 1 Device Revision : 1 Firmware Revision : 5.05.12.25 IPMI Version : 2.0 Manufacturer ID : 2011
| 问题 | 可能原因 | 解决方案 |
|---|---|---|
| 上传失败 | /tmp 权限不足 |
检查路径是否正确,用户是否有写权限 |
| 升级卡在 0% | DFT 未使能 | 执行 raw 0x30 0x90... 开启私有命令 |
| Web页面空白 | 固件损坏或签名不匹配 | 尝试刷回旧版本或使用过渡包 |
| 风扇满转 | BMC 重启未完成 | 按电源键启动主机主系统,风扇将恢复正常 |
Invalid data 错误 |
厂商 ID 错误 | 确认小端序正确(华为为 DB 07 00) |
ipmitool fru print > fru_backup.txt
VPD 和 board_name 为 S920X20。| 厂商 | ID(十六进制) | 小端序(3字节) |
|---|---|---|
| 华为 | 0x0007DB | DB 07 00 |
| 戴尔 | 0x0002A2 | A2 02 00 |
| 惠普 | 0x00103C | 3C 10 00 |
| 方法 | 优势 | 推荐指数 |
|---|---|---|
| uREST | 操作简单、流程完整 | |
| ipmitool | 通用性强、兼容性好 |
对于 S920X20 平台,建议优先使用 uREST 工具完成带内 BMC 固件升级。若无该工具,则严格按照 ipmitool 分步流程操作,并确保每一步成功后再进入下一阶段。
提示:如需获取完整命令模板或脚本自动化支持,可在 openUBMC 社区请求协助。
文档里面有提供ipmitool 升级方法