基于2509版本openubmc构建
我们从bios了解到,当前通过web升级bios,无法实现完全擦写升级,有部分功能区域未擦除更新。
下面的装备升级应该是可以全擦升级的:
但是不知道这个装备升级接口应该如何使用? 希望可以提供指导
基于2509版本openubmc构建
我们从bios了解到,当前通过web升级bios,无法实现完全擦写升级,有部分功能区域未擦除更新。
下面的装备升级应该是可以全擦升级的:
答案内容由AI生成,仅供参考:
根据您提供的信息和分析 openUBMC 25.09 版本的相关上下文,您已正确识别出问题的核心:标准的 Web BIOS 升级通常不是全擦写升级,而装备升级(Equipment Upgrade) 模式正是实现 全擦升级(全擦写) 的正确方法。
下文将为您提供在基于 openUBMC 25.09 构建的系统上,如何使用装备升级接口实现 BIOS 全擦升级的详细指导。
全擦升级 是一种固件更新过程,它会彻底擦除Bios Flash 中的全部现有数据和配置,然后写入全新的固件。根据知识库内容及 openUBMC 的典型架构,装备升级通常是通过 Redfish 或 IPMI 接口配合特定的“装备包”来触发的,而不是简单的 Web 页面上传。
manufacture 文件夹,并可能在 update.cfg 中有特殊标识(与普通升级包或补丁包不同)。标准的 HPM 格式 BIOS 更新包通常不足以触发装备升级流程。这是最标准的服务器管理接口。
准备升级包:将您的 BIOS 装备包(例如 .hpm 文件)上传至 BMC 的临时目录(如 /tmp)。
发起 SimpleUpdate 请求:
向 Redfish 的 UpdateService 发送 SimpleUpdate 动作。要触发射装备升级的强制上下电动作,必须不携带 BiosActivatedScope 参数(该参数用于无感升级)。
请求示例:
POST /redfish/v1/UpdateService/Actions/UpdateService.SimpleUpdate
Content-Type: application/json
{
"ImageURI": "/tmp/bios_equipment_package.hpm",
"TransferProtocol": "Vendor"
}
BiosActivatedScope。根据知识库逻辑,触发强制下电的条件是“装备升级”,而装备升级的关键特征是打包了manufacture文件夹。因此,上传一个真正的装备包 并发起此请求,系统应能识别并执行全擦流程。监控升级状态:升级过程将自动执行强制断电和上电,耗时可能较长。可以通过 Redfish 或 Web 界面监控 TaskService 任务的状态。
理论上,如果您上传的 HPM 包是专门构建的“装备包”(包含 manufacture 文件夹),Web 界面的升级功能有可能自动识别并进入装备升级流程。
全擦升级 的后果:
服务中断:
验证装备包:
知识库中的证据:
{"entity1": "BIOS", "entity2": "全擦升级", "description": "BIOS upgrade in BMC-equipped systems defaults to full erase..."} 直接支持此流程。要实现基于 openUBMC 25.09 的 BIOS 全擦升级,正确的路径是使用 装备升级(Equipment Upgrade) 模式,而不是普通的 Web 升级。
最佳实践:
SimpleUpdate 接口发送升级请求。这样,系统将执行您所期望的“强制下电 → 全区域刷写 BIOS Flash → 上电”的全擦流程,确保固件的干净和完整。
相关链接:
包含manufacture的装备包怎么出呢?
即使非装备的BMC,也有接口可以进行全擦升级,比如ipmcset -t maintenance -d upgradebios -v /tmp/bios.hpm。但是该接口无法在OS下使用,请问redfish/ipmi有没有等同于ipmcset -t maintenance -d upgradebios 的接口?
经过测试验证,在bios下设置manufacture: true即是开启该组件的装备功能:

这样出的BMC包,在web上升级默认就是全擦装备升级,升级时会强制下电。
该配置得放在装备包配置下,不然正常上网包也进行全擦升级
是的 最好是在manifest下配置一个manufacture项来专门用来出装备包
目前没有支持现网包的ipmi和redfish接口执行全擦升级