26.03 build出来的无签名固件,直升3.01.08.01启动失败:
- 升级过程正常没有报错。
完整BMC串口log见附件
BMC_串口.zip (4.5 KB)
答案内容由AI生成,仅供参考:
| 项目 | 结论 |
|---|---|
| 问题类型 | 固件升级后启动失败(非升级过程失败) |
| 根本原因 | 无签名固件跨版本升级导致文件系统挂载路径解析失败(Parse mount src path error: dir16) |
| 关键线索 | 串口日志显示 realpath failed、时间戳为 1970 年、服务注册中途终止 |
| 关联案例 | topic/5199/2 中“伙伴过渡包刷入后 BMC 起不来”问题完全匹配 |
| 推荐解决方法 | 使用 过渡包 分步升级;确保签名/路径兼容;检查 rootfs_BMC.img 构建过程 |
根据您提供的信息,本次问题是 “使用 26.03 版本构建的无签名固件,直接升级到 3.01.08.01 版本后,BMC 升级过程显示成功(100%),但重启后系统卡死无法正常启动”。
结合界面截图和串口日志内容,可对故障进行系统性分析。
https://192.168.2.100/UI/Static/#/navigate/manager/upgrade开始升级 按钮变为灰色(不可操作)“在iBMC或SD卡控制器固件升级完成之后,iBMC会自动重启使升级的固件生效。”
表明 iBMC 已执行了重启动作,但新固件未能正常加载。
以下是串口输出中的关键异常点:
1970-01-01 00:00:26.781664 ...
1970-01-01(Unix 时间起点),说明系统 未能正确加载时间和 RTC 配置。Path realpath failed [errno=2 errmsg=No such file or directory].
Parse mount src path error: dir16.
realpath 失败表明系统尝试解析某个挂载路径时,目标目录不存在。Parse mount src path error 指出 固件在解析挂载源路径时出错,极有可能导致 rootfs 无法正确加载。/etc/fstab 或启动脚本配置错误。rootfs_BMC.img 生成或写入错误)。日志中显示部分服务能被检测到并注册:
component[thermal_mgmt] is detected
component[web_backend] is detected
...
monitor component bmc_upgrade added
monitor component bmc_time added
monitor component iam added
StartupCheck passedSystem ready
表明系统在 服务加载阶段因挂载失败而崩溃,未能进入完整运行状态。
| 类别 | 分析结论 |
|---|---|
| 前端显示升级成功(100%),说明上传、校验、写入 Flash 等步骤已完成,固件已刷入设备。 | |
串口停留在早期 init 阶段,出现 mount 路径解析失败,说明 新固件的启动环境配置不兼容或损坏。 |
|
| 无签名固件在跨版本升级时,缺少必要的兼容性处理机制,尤其是: 1. 文件系统结构或路径发生变化( dir16 异常)2. 缺少签名或认证校验绕过逻辑,导致安全启动失败 3. 构建时未启用兼容旧平台的启动选项(如 manufacture mode) |
topic/5199/2 论坛讨论5.08.12.04,URL 路径与本例一致:https://192.168.16.103/UI/.../upgradeubmc_assistant 提出):
“建议先刷一个过渡包(transition package)以兼容签名环境,再刷正式包。直接刷不同签名体系的固件会导致启动校验失败。”
关联实体:
path_to_bmc_upgrade→transition_package
3.01.08.01。
参考知识库:
firmware_mgmt文档 → “add pss root certificate failed”
manifest.yml 启用 manufacture mode 跳过校验?rootfs_BMC.img 是否正确生成。dir16 等路径映射错误。
参考文档:支持 A/B 分区倒换功能
| 项目 | 结论 |
|---|---|
| 问题类型 | 固件升级后启动失败(非升级过程失败) |
| 根本原因 | 无签名固件跨版本升级导致文件系统挂载路径解析失败(Parse mount src path error: dir16) |
| 关键线索 | 串口日志显示 realpath failed、时间戳为 1970 年、服务注册中途终止 |
| 关联案例 | topic/5199/2 中“伙伴过渡包刷入后 BMC 起不来”问题完全匹配 |
| 推荐解决方法 | 使用 过渡包 分步升级;确保签名/路径兼容;检查 rootfs_BMC.img 构建过程 |
rootfs_BMC.img、manifest.yml、过渡包配置建议后续升级前在测试环境中先验证签名兼容性和启动流程。
BMC异常应该会回退,有回退后的一键收集日志吗,单看串口信息太少了
没有回退,我现在uboot里面切换到backup的分区里面了。
我现在切换原来的分区以后,显示如下
iBMC:/->ipmcget -d version
------------------- iBMC INFO -------------------
IPMC CPU: Hi1711
IPMI Version: 2.0
Active iBMC Version: (U68)3.01.08.01
Active iBMC Build: 002
Active iBMC Built: 11:07:18 Jan 12 2026
Backup iBMC Version: null
Available iBMC Version: null
Available iBMC Build: 000
SDK Version: 0.0.0.3
SDK Built: 17:12:39 Nov 8 2023
Active Uboot Version: 21.9.10.0 (23:34:27 Mar 30 2026)
Backup Uboot Version: 21.9.10.0 (23:34:27 Mar 30 2026)
Active Secure Bootloader Version: 21.9.10.0 (23:32:58 Mar 30 2026)
Backup Secure Bootloader Version: 21.9.10.0 (23:32:58 Mar 30 2026)
Active Secure Firmware Version: 21.9.10.0 (23:32:58 Mar 30 2026)
Backup Secure Firmware Version: 21.9.10.0 (23:32:58 Mar 30 2026)
----------------- Product INFO -----------------
Product ID: 0x0000
Product Name: NA
Active BIOS Version: (U75)KL4.41.108.241114.R
Backup BIOS Version: KL4.41.108.241114.R
---------------- CPU Board INFO ----------------
CpuBoard1 BoardName: BC82AMSCB
CpuBoard1 BoardID: 0xffff
CpuBoard1 CUID: 00000001020302071127
CpuBoard1 PCB: .A
CpuBoard1 CPLD Version: (U6076)1.00
---------------- EXP Board INFO ----------------
ExpBoard1 BoardName: Expand Board
ExpBoard1 BoardID: 0x0000
ExpBoard1 CUID: 00000007010302025600
ExpBoard1 PCB: .A
ExpBoard1 CPLD Version: (U5)0.01
------------------- NIC INFO -------------------
N400L-1 BoardID: 0xffff
N400L-1 CUID: 00000001C00302026600
N400L-1 PCB: .A
------------- Security Module INFO -------------
Specification Type: TPM
Specification Version: 2.0
Manufacturer Name: N/A
Manufacturer Version: 0.3
------------------- POWER INFO -------------------
CpuBoard1VRD Version: 02.08.00.00
iBMC:/->
可以看下日志里切分区前打印了什么。
NA_20260422-1812.tar.gz (2.6 MB)
收到,我看下