术语表 | 文档中心 | openUBMC 这里描述硬件自发现
硬件自发现
启动时,会自动发现支持天池协议的组件,支持不同产品的灵活配置。
是不是openUBMC只能选用支持天池协议的组件(比如风扇,电源,Raid卡,GPU算力卡)。如果自己选的组件,就需要自己包硬件的驱动进去?
术语表 | 文档中心 | openUBMC 这里描述硬件自发现
启动时,会自动发现支持天池协议的组件,支持不同产品的灵活配置。
是不是openUBMC只能选用支持天池协议的组件(比如风扇,电源,Raid卡,GPU算力卡)。如果自己选的组件,就需要自己包硬件的驱动进去?
答案内容由AI生成,仅供参考:
总结:回答您的原始问题
“是不是 openUBMC 只能选用支持天池协议的组件?如果自己选的组件,就需要自己包硬件的驱动进去?”
答:
否,openUBMC 不强制只用天池组件。
是,若使用自选组件,必须自行提供驱动和配置文件。
component_drivers;hwdiscovery 支持其版本(建议 ≤ 4.00);建议开发流程:
QEMU 模拟环境提前验证发现与驱动加载逻辑。根据您提供的资料和问题,我们可以从 硬件自发现机制 和 组件驱动支持策略 两个方面来详细分析您提出的问题。
根据知识库中《术语表》文档中的描述:
“启动时,会自动发现支持天池协议的组件,支持不同产品的灵活配置。”
这表明 openUBMC 的 硬件自发现功能主要针对“支持天池协议”的组件。在系统上电或启动过程中,openUBMC 会通过 hwdiscovery 模块自动扫描和识别符合该协议的硬件设备。
这类组件包含但不限于:
参考资料:Qemu资料汇总提到 QEMU 支持对 EXU、BCU、IEU 等组件的“天池自发现”,并能加载其 CSR 文件进行管理。
硬件自发现并非“魔法”,它依赖于以下关键技术:
| 技术 | 功能说明 |
|---|---|
| CSR (Component Self-Description Record) | 描述硬件组件自身属性的配置文件,如类型、位置、I2C 地址、协议版本等。hwdiscovery 服务通过读取 CSR 文件识别硬件对象。 |
| SR (System Resource File) | 包含系统级资源定义,用于初始化和注册硬件对象树。hwcomponent.lua 脚本负责加载并处理 SR 文件。 |
举例说明:
component_drivers 支持 CSR 5.0);hwdiscovery 在启动时读取这些信息,调用 hwcomponent.lua 脚本完成组件注册;
关键关系:
hwdiscovery→ 读取 CSR/SR 文件 → 通过hwcomponent.lua执行 self-discovery → 动态创建硬件对象(如Connector_EXU_1_01)
openUBMC 优先支持“天池协议”组件以实现自动化管理,但 并不完全排斥非天池组件。
| 场景 | 是否支持 | 实现方式 |
|---|---|---|
| 使用天池协议组件 | 即插即用,无需额外开发,支持自动发现、自动注册、统一建模。 | |
| 使用自选硬件组件(非天池) | 必须提供相应的 CSR 配置文件 和 设备驱动程序,才能被系统识别和管理。 |
结论:
不是“必须用天池组件”,而是 只有天池组件才能享受“自动发现 + 零配置接入”的便利;
如果您选用自定义组件(如某厂商定制电源、特制 FPGA 模块),只要按规范提供驱动和配置文件,依然可以集成进 openUBMC。
component_drivers 目录下;component_drivers 是 openUBMC 中专门管理硬件驱动的子项目,支持芯片层、总线层(如 I2C、PCIe)驱动;component_drivers/1.2.74@openubmc/stable 明确包含 I2C 传感器驱动代码。.csr 文件,描述其属性(UID、Slot、I2cAddr、ChipType 等);vendor/Huawei/Server/Kunpeng/openUBMC/platform.sr
hwdiscovery 会根据 CSR 的 FormatVersion 判断是否加载;
注意:根据 huangzhiyu 用户的说明:
hwdiscovery目前仅支持 FormatVersion < 4.00 的 CSR 文件。
所以如果您的 CSR 版本过高(如 5.0),可能需要降级或确认系统是否已适配。
Conan + CMake 构建系统将驱动和配置打包进固件镜像;manifest.yml 中声明依赖 qemu_drivers 或自定义驱动包。参考“【已评审】支持非天池单板上的vrd升级”文档:
Protocol: "SMC" 或 "PMBus"、I2C Address)与电源芯片直接通信;“是不是 openUBMC 只能选用支持天池协议的组件?如果自己选的组件,就需要自己包硬件的驱动进去?”
答:
否,openUBMC 不强制只用天池组件。
是,若使用自选组件,必须自行提供驱动和配置文件。
component_drivers;hwdiscovery 支持其版本(建议 ≤ 4.00);建议开发流程:
QEMU 模拟环境提前验证发现与驱动加载逻辑。component_drivers Conan 仓库(查看现有驱动实现)如有进一步具体硬件型号或场景,欢迎继续提问!
非天池组件,Connector的IdentifyMode用2,把bom、id、auxid填上,csr仓里配上,打包到环境上也可以加载。
谢谢指导。
如果自己采购的服务器风扇。不知道如何填写风扇的bom、id、auxid,
可以问下厂商,应该会有说明的