网页端更新BIOS显示升级失败

升级BIOS会报错,保不保存配置都不行

已经根据hpm包格式说明以及重新签名指导对bios进行了重新签名,具体操作如下:

 dd if=S920S10X10_Update_CS_2P_cms.hpm of=bios.filelist bs=1 count=129 skip=56
 dd if=S920S10X10_Update_CS_2P_cms.hpm of=bios.cms bs=1 count=3505 skip=185
 dd if=S920S10X10_Update_CS_2P_cms.hpm of=bios.crl bs=1 count=683 skip=3690
 dd if=S920S10X10_Update_CS_2P_cms.hpm of=bios.bin bs=1 skip=4373
 hpm_signer -s signer.pem -t ts_signer.pem -T tsa.cnf -i bios.filelist -o bios.cms1
 mkhpm.sh bios.filelist bios.cms1 rootca.crl bios.bin bios_new.hpm

原BIOS的开头如下:

重新签名后还是无法升级,请问是哪里的问题呢?

报错信息是什么

这是app.log中的报错信息

1970-01-01 10:12:46.686713 firmware_mgmt NOTICE: file_transfer.lua(145): start to move file [S920S_bios_new3.hpm] from tmp to shm
1970-01-01 10:12:46.767733 firmware_mgmt NOTICE: file_transfer.lua(150): move_file_s ok:true, err:0
1970-01-01 10:12:46.884946 firmware_mgmt NOTICE: validate_sign.lua(174): verify signature successfully
1970-01-01 10:12:46.885973 firmware_mgmt NOTICE: action.lua(37): Validate signature successfully
1970-01-01 10:12:47.047142 firmware_mgmt NOTICE: hpm_package.lua(488): parse cfg file successfully, Version:1.0 FileNum:2
1970-01-01 10:12:47.047953 firmware_mgmt NOTICE: hpm_package.lua(444): get obj table: 0x4a7eec585768 for Id=2
1970-01-01 10:12:47.050664 firmware_mgmt NOTICE: hpm_package.lua(413): System product info:ProductId(65535), ProductVendorID(0xffffffff), ProductUniqueID(0xffffffff)
1970-01-01 10:12:47.051756 firmware_mgmt NOTICE: hpm_package.lua(417): System product id is 0xffff, skip board verification
1970-01-01 10:12:47.052069 firmware_mgmt NOTICE: hpm_package.lua(437): get obj table: 0x4a7eec585768 for Id=2
1970-01-01 10:12:47.052846 firmware_mgmt NOTICE: hpm_package.lua(459): hard_revision:0, soft_revision:0
1970-01-01 10:12:47.053097 firmware_mgmt NOTICE: hpm_package.lua(472): revision number check successfully. Target revision=(0, 0) and hpm revision=1
1970-01-01 10:12:47.153598 firmware_mgmt NOTICE: action.lua(47): Parse hpm package successfully
1970-01-01 10:12:47.153968 firmware_mgmt NOTICE: control.lua(247): upgrade_task file_name=S920S_bios_new3.hpm, FirmwareType=Bios, fw_num=1, UniqueIDList=table: 0x4a7ee1e97288, sys_id=1
1970-01-01 10:12:47.254775 firmware_mgmt NOTICE: task_service.lua(63): destroy_dup_task: task(1Bios) dup, task id: 2740331461 → 1085306415
1970-01-01 10:12:47.255005 firmware_mgmt NOTICE: task_service.lua(31): destroy_task_by_id: 2740331461
1970-01-01 10:12:47.264115 firmware_mgmt NOTICE: info_mgmt.lua(73): create_info: info_key=1Bios, FirmwareType=Bios, task_id=1085306415
1970-01-01 10:12:47.372117 firmware_mgmt NOTICE: action.lua(85): public initialize action
1970-01-01 10:12:47.372398 firmware_mgmt NOTICE: info_mgmt.lua(171): info_key(1Bios) upgrade set_stage: INITIALIZE → DIFF_PREPARE, 5
1970-01-01 10:12:47.476850 bios NOTICE: signal.lua(176): Start the bios upgrade prepare phase
1970-01-01 10:12:47.477097 bios NOTICE: signal.lua(177): Platform = “”
1970-01-01 10:12:47.479984 general_hardware NOTICE: upgrade_subject.lua(63): [on_upgrade_prepare] firmware_type:Bios cur_firmware_type:Bios
1970-01-01 10:12:47.480182 general_hardware ERROR: upgrade_subject.lua(67): [on_upgrade_prepare] does not exists the observer, firmware_type:Bios
1970-01-01 10:12:47.485790 bios ERROR: signal.lua(165): [bios]prepare upgrade fail, err ./opt/bmc/apps/bios/lualib/service/upgrade_service.lua:815: [bios]upgrade hpm: get snapshot fail, system id is 1
1970-01-01 10:12:47.486127 bios NOTICE: bios_service.lua(354): bios_service:get bios prop(Version) system id(1) type(number) invalid.
1970-01-01 10:12:47.486296 bios NOTICE: signal.lua(151): [bios] prepare set system 1 verion nil
1970-01-01 10:12:47.487891 firmware_mgmt ERROR: control.lua(388): Upgrade Bios prepare failed, ret=-1
1970-01-01 10:12:47.488259 firmware_mgmt NOTICE: info_mgmt.lua(222): info_key(1Bios) upgrade failed, set_stage: DIFF_PREPARE → COMPLETED
1970-01-01 10:12:47.575328 firmware_mgmt ERROR: control.lua(115): info_key(1Bios) Upgrade fail, timeout=60, stage=COMMON_PREPARE
1970-01-01 10:12:47.715809 firmware_mgmt NOTICE: info_mgmt.lua(171): info_key(1Bios) upgrade set_stage: COMPLETED → COMPLETED, 100
1970-01-01 10:12:47.722894 firmware_mgmt ERROR: task_service.lua(83): Update task failed, task_id: 1085306415, res: -9
1970-01-01 10:12:47.724874 firmware_mgmt NOTICE: active_fructl.lua(95): get host type is Singlehost
1970-01-01 10:12:47.725647 firmware_mgmt NOTICE: active_single_host_fructrl.lua(61): active_single_host_fructrl fructrl get power status
1970-01-01 10:12:47.728109 firmware_mgmt NOTICE: state_simple_upgrading.lua(87): simple upgraded, current active mode is:nil, wait restart seconds:30000
1970-01-01 10:12:47.735247 firmware_mgmt NOTICE: init.lua(33): update status to FS_IDLE.
1970-01-01 10:13:01.530474 chassis ERROR: tasks.lua(83): task [health monitor task] error: BMC.Error.Unknow: ./opt/bmc/libmc/lualib/mc/context.lua:185: ./opt/bmc/libmc/lualib/sd_bus/init.lua:226: ./opt/bmc/libmc/lualib/mc/context.lua:185: ./opt/bmc/libmc/lualib/mc/signal.lua:257: ./opt/bmc/apps/hwproxy/lualib/hwproxy_objects/app_bus.lua:104: …bmc/apps/hwproxy/lualib/hwproxy_objects/work_objects.lua:74: chip: Smc_ExpBoardSMC_0101, bus: I2c_8, write failed: smc.lua:89: request error, opcode not supported, SMC completion code: 1 [repeated 131 times in 302s from 1970-01-01 10:07:59.938518 to 1970-01-01 10:13:01.530474]
1970-01-01 10:13:03.580754 chassis ERROR: led_object.lua(56): set the CtrlValue 85 failed [repeated 131 times in 302s from 1970-01-01 10:08:01.971231 to 1970-01-01 10:13:03.580754]
1970-01-01 10:14:58.683180 certificate ERROR: certificate_parser.lua(265): The certificate start time is greater than the current time
1970-01-01 10:17:49.812985 iam NOTICE: session_collection.lua(116): session ((ef7128ebe5fe17894faef026)) timeout, have to remove this session
1970-01-01 10:17:52.290858 iam ERROR: session_service.lua(124): validate session (0677893fe30868d2e6cfb22d0670f06a58b822f7408b23f908b40a53015e86b56) failed
1970-01-01 10:17:52.291982 iam ERROR: init.lua(97): nil:-1 > model.lua:1593 > session_service.lua:125: The request failed due to an internal service error. The service is still operational.
1970-01-01 10:18:03.197587 chassis ERROR: tasks.lua(83): task [health monitor task] error: BMC.Error.Unknow: ./opt/bmc/libmc/lualib/mc/context.lua:185: ./opt/bmc/libmc/lualib/sd_bus/init.lua:226: ./opt/bmc/libmc/lualib/mc/context.lua:185: ./opt/bmc/libmc/lualib/mc/signal.lua:257: ./opt/bmc/apps/hwproxy/lualib/hwproxy_objects/app_bus.lua:104: …bmc/apps/hwproxy/lualib/hwproxy_objects/work_objects.lua:74: chip: Smc_ExpBoardSMC_0101, bus: I2c_8, write failed: smc.lua:89: request error, opcode not supported, SMC completion code: 1 [repeated 132 times in 302s from 1970-01-01 10:13:01.530474 to 1970-01-01 10:18:03.197587]
1970-01-01 10:18:05.399325 chassis ERROR: led_object.lua(56): set the CtrlValue 85 failed [repeated 132 times in 302s from 1970-01-01 10:13:03.580754 to 1970-01-01 10:18:05.399325]
1970-01-01 10:18:18.815373 certificate ERROR: certificate_parser.lua(265): The certificate start time is greater than the current time

从日志来看是这个对象获取失败导致的升级失败,可以检查下bios对象分发情况

您好,请问该怎么查呢

看下一键收集日志中AppDump下bios文件夹下的mdb_info.log里的日志信息

log中关于snapshot的就一行,这是分发失败了吗

看下有没有这个path:/bmc/kepler/Systems/1/Bios

mdb_info.log中没有这个路径

那就是对象分发出问题了

为什么会出问题呢?我只是改了一下bios的头部签名

从日志上看你们的环境生成snapshot失败,snapshot是bios升级要依赖的对象,只有BMC的资源树/bmc/kepler/Systems/1/Bios成功创建了才会正常的生成snapshot,目前看你们的BMC对应的/bmc/kepler/Systems/1/Bios没加载上导致BIOS升级失败,/bmc/kepler/Systems/1/Bios的加载对应的代码适配在bcu的sr文件里,如果你们没有bcu可将对应的功能移到root.sr里即可

1 个赞

bios升级与BCU强相关,BIOS升级的代码在BCU组件里,可以排查下bios升级资源树是否加载