拓展板适配时,BCU板上电运行问题。

答案内容由AI生成,仅供参考:

:pushpin: 四、总结建议

该问题极大概率是由于SR配置错误或IdentifyMode=3下信息代理机制未正确配置导致资源树加载不全,进而使BIOS无法启动。

推荐整改措施:

  1. :white_check_mark: 确保EXU的SR文件正确加载,并指向正确的BCU .sr 文件。
  2. :white_check_mark: 在EXU的EEPROM中预置BCU的UID/AuxID映射,支持代理发现。
  3. :white_check_mark: 验证cpu_board.lua是否成功设置BmcStartFlag
  4. :white_check_mark: 检查I²C和HISPORT总线连接与配置是否匹配硬件设计
点击此处查看详细分析解答

BCU板上电后无法进入BIOS的故障排查指南

根据您描述的问题——BCU板卡能正常上电,KVM可见CPU与内存初始化过程,但在内存初始化后卡住,无法进入BIOS界面——这个问题通常涉及BMC初始化、硬件配置、固件兼容性、资源树加载及通信链路等多个层面。以下是系统性的分析与排查建议。


:magnifying_glass_tilted_left: 一、BCU板正常上电后进入BIOS的关键条件

BCU(Base Control Unit)板在完成上电和硬件自检后,要成功进入BIOS,必须满足以下核心条件:

条件 说明
:white_check_mark: BMC启动完成并设置启动标志 BMC需成功完成初始化,并通过cpu_board.lua等脚本设置BMC startup completed flag,通知系统可以继续启动流程。
:white_check_mark: 正确加载BCU对应的SR配置文件 拓展板(EXU)必须正确加载BCU的.sr文件(如14060876_xxxxx.sr),否则无法构建完整的资源树。
:white_check_mark: IdentifyMode配置正确 若BCU采用天池架构(IdentifyMode=3),需确保EXU能通过代理机制正确获取BCU的身份信息(UID、AuxID等)。
:white_check_mark: PCIe/CPU/内存初始化完成且无故障 CPU需完成上电、复位、Cache初始化;内存完成训练(Training);PCIe链路枚举正常。
:white_check_mark: BMC与BCU之间的通信链路正常 包括I²C、JTAG、HISPORT、SMC等总线通信正常,尤其用于传递PowerGood、StartFlag等关键信号。
:white_check_mark: BIOS镜像存在于Flash中且校验通过 BIOS固件必须存在且未损坏,CPLD/BMC需能正确读取并跳转执行。

:hammer_and_wrench: 二、常见故障原因及排查方法

1. BMC未完成初始化或未设置启动标志

  • 现象:系统停留在内存初始化后,无后续输出。

  • 关键日志检查

    general_hardware NOTICE: cpu_board.lua(53): [BCU]set BMC startup completed flag to CPLD successfully
    

    如果该日志未出现或反复打印获取失败,说明BMC未完成初始化或未正确设置启动标志。

  • 排查项

    • 确认cpu_board.lua是否成功执行。
    • 检查BmcStartFlag是否被正确写入CPLD或SMC:
      Accessor_BmcStartFlag.Value = 1
      
    • 使用busctl查看属性状态:
      busctl get-property bmc.kepler.hardware CpuBoard1 BmcStartFlag
      

2. SR配置文件加载错误(关键!)

您提到是“拓展板适配”,因此SR文件加载错误是最常见根源

常见问题:

  • 加载了错误的.sr文件(如root.sr加载了EXU而非BCU的SR)。
  • IdentifyMode=3时未在EXU的EEPROM中正确配置BCU的UID/AuxID映射。
  • Connector配置缺失或错误(如缺少I2C、HISPORT连接定义)。

排查方法:

  • 检查加载的日志

    grep "load" /var/log/framework.log
    

    查看是否成功加载Connector_BCU_1及对应BOM ID的SR文件。

  • 确认IdentifyMode为3时的代理机制

    根据知识库,对于天池架构(IdentifyMode=3),EXU自身充当信息代理,下级板卡(如BCU)的信息(UID、AuxID)预存在EXU自己的EEPROM中。

    • :white_check_mark: 确保EXU的EEPROM中已正确写入BCU的UID。
    • :cross_mark: 若未写入,则BCU无法被识别,资源树加载失败,导致BIOS无法启动。
  • 参考案例

    用户aaeon曾因“root.sr加载了BCU的sr,改成EXU的sr就成功上下电”而解决问题(参考文档chunk #2)。


3. 通信链路异常(I²C、HISPORT、SMC)

  • 关键信号缺失

    • PowerGood:BCU需接收到来自主板或EXU的PowerGood信号才可继续启动。
    • StartFlag:由BMC写入,触发BCU开始执行。
    • SMC通信:用于传递控制命令(如AC Power On/Off)。
  • 排查方法

    • 检查I²C是否通信失败:

      i2c.lua:117: response error, i2c write fail, ret: 5
      

      若出现此类错误,说明I²C总线通信异常,可能是地址冲突、驱动未加载、总线短路。

    • 确认Smc_ExpBoardSMC是否正确配置(非CPLD方式):

      如用户“昆仑_李壮”指出:BCU中使用Smc_ExpBoardSMC的地方需根据实际硬件修改为CPLD通信方式。


4. BIOS未正确加载或资源树缺失

  • 知识库关键提示

    “环境为天池模组环境,无bcu,导致bcu中涉及bios升级的资源树全部未加载,从而生成快照失败。”(参考搜索结果 #9

  • 可能原因

    • 系统误判无BCU,未加载BIOS相关资源树(如Bios对象、SmbiosInfo等)。
    • bios组件未初始化,导致无法加载BIOS固件。
  • 排查方法

    • 检查是否存在Bios对象:
      busctl list-objects /bmc/kepler/hardware | grep -i bios
      
    • 检查bios组件是否运行:
      ps | grep bios
      

5. CPLD/FPGA逻辑未正确配置

  • 问题表现

    • 内存初始化后卡住,可能是CPLD未释放reset信号或未切换启动模式。
  • 排查项

    • 检查CPLD是否完成自检(CpldTestReg)。
    • 确认CPLD版本是否支持当前硬件配置。
    • 使用ipmcset -d reset重启BMC后重试,观察是否有所变化。

:white_check_mark: 三、推荐排查步骤(实操流程)

步骤 操作 预期结果
1 检查BMC日志中是否有set BMC startup completed flag 应出现,表示BMC已准备就绪
2 查看framework.log,确认BCU的SR文件是否加载 匹配BOM ID和UID,无错误加载
3 使用busctl检查CpuBoard1对象是否存在且属性完整 Slot, UID, Name, BmcStartFlag应正确
4 检查I²C通信是否正常,尤其是Smc_ExpBoardSMC通道 i2c write fail类错误
5 确认EXU的EEPROM中是否包含BCU的UID映射(IdentifyMode=3) 是,否则需更新EXU的CSR
6 检查是否有Bios对象和bios组件运行 存在且运行中
7 尝试强制重新加载SR文件并重启BMC 观察是否恢复正常

:pushpin: 四、总结建议

该问题极大概率是由于SR配置错误或IdentifyMode=3下信息代理机制未正确配置导致资源树加载不全,进而使BIOS无法启动。

推荐整改措施:

  1. :white_check_mark: 确保EXU的SR文件正确加载,并指向正确的BCU .sr 文件。
  2. :white_check_mark: 在EXU的EEPROM中预置BCU的UID/AuxID映射,支持代理发现。
  3. :white_check_mark: 验证cpu_board.lua是否成功设置BmcStartFlag
  4. :white_check_mark: 检查I²C和HISPORT总线连接与配置是否匹配硬件设计

:link: 参考资料

如仍无法解决,建议提供framework.loggeneral_hardware.log中的关键日志片段,以便进一步诊断。

相关链接:

  1. web界面无法正常显示上下电状态
  2. 关于CPLD升级分析遇到的一些问题
  3. 关于EXU是获取下级板卡UID的疑问
  4. bmc插卡为非天池架构时,EXU升级主板CPLD报错问题求助
  5. bios | 文档中心 | openUBMC