社区工程能力每日答疑纪要

工程能力每日答疑【第33期】

问题1:社区版本是否支持白版包 – 邱明 华启

答:已支持,请参考 :openUBMC品牌包定制指南

问题2:部件 上面的CSR是否支持升级,是否可以出厂时不配置csr – 陈敏骏 五舟

答:支持升级CSR;部件出厂时为确保功能正确,一般都配置了CSR,如果伙伴对部件有特殊要求,可以找部件厂商了解。

问题3:是否支持在伙伴现场制作CPLD HPM包 – 陈敏骏 五舟

答:制作CPLD HPM包的工具,如filesizecheck crypto_tool 和 hpmimage等工具由bingo安装,打包hpm主要缺少的是HPM固件配置文件,需要找CPLD了解。

  • 电源、风扇、VRD等固件是相似的逻辑。

问题4:bingo构建时提示下载flatbuffer失败 – 程晓菊 同方

答:需要手工安装flatbuffer,命令apt install flatbuffer-compiler

问题5:从伙伴签名切换到华为签名应该怎么操作 – 黄梁 华鲲

答:如果开启了安全启动,是不允许升级到华为签名。

问题6:切换到伙伴模式和切换到社区模式有什么区别 – 黄梁 华鲲

答:切换到伙伴模式实质是替换CA根证书;切换到社区模式实质是禁用签名校验。

工程能力每日答疑【第30期】

问题1:社区代码bios、manifest有一个新的分支,这个分支是否是稳定版本的代码 – 文成龙 同方

答:main是开发分支,br_release_openUBMC2503_20250330是发布分支和维护分支。

问题2:conan下载时不会自动下载package,需要指定package_id,是否有办法可以一键下载所有二进制 – 孙国庆 华鲲

答:经与conan官方仓(https://center.conan.io)对比验证,确认我们的conan仓的行为存在不一致,无法获取和下载package,已提工单给云服务供应商,正在推动解决。

当前的规避手段就是在本地构建一次产品或组件,自动下载二进制,缺陷是二进制可能不全,需要伙伴将bmcgo build的各参数都构建一次。

问题3:qemu需要半个小时才能在web登录,是否有问题。 – 郭馨 昆仑

答:qemu性能正在提升。

问题4:qemu的文档不全,只覆盖了怎么运行,缺少如何使用、定制的指导。-- 郭馨 昆仑

答:把需求同步给开发,继续补齐。

工程能力每日答疑【第29期】

问题1:签名转换包(伙伴转华为)的rootca.der怎么构建-- 孙国庆 华鲲

答:将待转换的目标根证书(华为切伙伴,目标根证书是伙伴根;伙伴切化为,目标根证书是华为根)放在manifest仓manifest.yml同级rootfs目录下,路径是opt/bmc/trust/partner/rootca.der,随后出包上传至环境,升级之后就能升级目标根签名的hpm包。

问题2:V2环境如何切换伙伴根签名 – 邱明 华启

答:需要先升级到V3,只有V3才支持切换签名根。

工程能力每日答疑【第26期】

培训:本次培训了组件和产品级的rootfs定制化方法。

问题1:是否有安全启动的文档 – 文成龙 同方

答:需要推动sig-security建设文档,本次讲解了安全启动基本流程。

工程能力每日答疑【第25期】

培训:本次培训了emmc文件系统读写状态修改方法

问题1:伙伴应该使用稳定发行版还是在研版本 – 文成龙 同方

答:建议基于稳定发行版开发,如果稳定发行版不能满足产品述求的可以单独引入社区新开发的某个特性代码。

问题2:社区发行版发布周期 – 唐昌平 同方

答:还未确定,由sig-RM管理,建议等待正式的社区发文。

问题3: 伙伴签名是否必须配置所有签名密钥和配置 – 邱明 华启

答:是,以schema校验为准。

问题4:版本号规划是否有强制要求 – 黄敏才

答:建议找接口PAE了解。

问题5: 安全启动是否要求所有固件都使用同一个证书签名 – 陈敏骏 五舟

答:安全启动信任链传递过程,每个链条都可以定义自己如何信任下一级,所以是否使用同一个证书并没有 铁律

工程能力每日答疑【第24期】

问题1、社区镜像初始化时报sdk安装错误 – 邱明 华启

答:应该下载 bmc_sdk.zip。manifest.yml的readme文档需要增加说明,已将问题同步给开发者。

问题2、签名放在manifest.yml,但签名失败,可能是什么原因 – 张滨 百信

答:建议先尝试使用hpm_signer和hpm_verify验证签名。

问题3、社区conan仓地址是否有变更 – 孙国庆 华鲲

答:社区conan仓地址变更为:

conan remote add openubmc_dev https://conan.openubmc.cn/conan_1 false
conan user 社区用户名 -p 社区用户密码 -r openubmc_dev

工程能力每日答疑【第22期】

问题1、社区包因为sdk变更导致binary missing,原理是什么 – 刘杰 神州鲲泰

答:部分组件(libsoc_adapter、ipmi_core、linux)依赖/opt/hi171x_sdk/Module.symvers的内核符号表,当符号表不匹配(变更)会产生功能异常,请确保sdk版本匹配,可以使用manifest仓的init.py初始化环境。

问题2、应该使用哪种方式构建开发环境 – 文成龙 同方

答:只要是ubuntu24.04的环境都可以用于开发。社区的manifest仓的init.py脚本可用于初始化系统,同时提供了dockerfile可用于创建docker镜像。

问题3、在V3的伙伴签名环境上升级V2的BIOS包失败,原因可能是什么 – 陈敏骏 五舟

答:在伙伴签名的环境只能升级伙伴签名的固件,包括电源、风扇、BBU、CPLD、BIOS等都需要使用伙伴的签名。此问题的根因是BIOS固件未转换成伙伴签名,在升级时验签失败。

问题4、在场内构建的固件都有华为签名,是否都需要在场外重新签名 – 陈敏骏 五舟

答:当前场内构建的固件还是华为签名,需要伙伴在场外驳离华为签名后重新签名。待伙伴独立签名能力完全落地后,华为外发的固件将不再带签名,由伙伴在场外重新签名。

工程能力每日答疑【第21期】

问题1:ipmi命令导入根和manifest.yml配置的根是什么关系 – 文成龙 同方

答:ipmi导入的是根公钥的hash,manifest.yml配置的是根公钥,根公钥会打包/升级到环境上,启动时会使用根公钥hash校验根公钥,确保公钥不被篡改。

问题2:日志未打印有哪些场景 – 陈敏骏 五舟

答:1、日志打印方式不对或日志观测方式不对;2、日志等级不够,可以尝试使用log:error打印日志;3、日志限流导致日志未打印;4、未执行打印日志的代码。

问题3:上传conan仓时建议使用https而不是git/ssh的原因 – 文成龙 同方

答:使用https有几个好处,包括443端口一般不会被防火墙拦截(22号端口很多公司都是有拦截的);https更容易配置代理。

问题4:社区的官网当前还有IP限制 – JZYH 彭爽

答:待正式开源汇报完成后解除。

工程能力每日答疑【第19期】

问题1:之前的manifest老代码报conan包找不到,近期新老版本构建出问题了,新版本 – 文成龙 同方

答:近期sig-release正式开源,把代码历史清除导致历史发布的conan包失效,待正式开源后会恢复。

问题2:conan包的scm信息如何管理,从社区克隆的开源仓是否需要手工维护scm信息 – 易重辉 长江计算

答:conan包的scm信息包含url和revision,其中url是从构建代码的git remote -v自动提取的,伙伴只需要使用**https://git://**克隆自己的代码仓再构建即可。revision也是自动从代码仓提取的。

问题3:VPD的board_name在不同vendor是否可以重复 – 李壮 昆仓

答:board_name不允许重复。【注意:VPD当前单板只支持存储在vendor/Huawei/Server目录】

问题4:CPLD、电源等固件未开源,都是使用华为证书签名的hpm包,是否支持伙伴直接升级华为的签名HPM包,或者要求必须伙伴重新签名 – 张磊 长计

答:需要使用厂商独立签名工具完成hpm重签后再次发布,签名是一种承诺,表示经过伙伴的测试验证,充分考虑了兼容性、发布计划等各种因素,可以有效避免客户界面的hpm包混乱(场景如:客户升级未经伙伴验证的华为签名hpm包,导致伙伴维护界面混乱)。

工程能力每日答疑【第17期】

问题1:openUBMC的配置是从SR文件读取,整机信息实际是从EEPROM中读出,请问是什么逻辑 – 文成龙 同方

答:EEPROM中存储了硬件CSR。

问题2:场外构建烧片包报错emmc_uboot_header.config文件不存在错误 郑豪伟 昆仓

答:按python3打印的堆栈注释掉出错行即可。

工程能力每日答疑【第16期】

培训:manifest.yml配置说明

答:本次完成了manifest.yml的schema模型的培训.

问题1:社区的《环境准备》章节有错误,manifest/dockerfile里面是正确的,应该以哪个为准 – 文成龙 同方

答:在docs仓提issue跟踪文档错误;dockerfile会持续更新,做为后续开发者镜像自动化构建的一部分。

问题2:如何访问gitcode.com代码仓用于构建组件 – 王加凯 神码

答:需要配置.git-credential配置。

问题3:如何生成csr的uid以及烧写eeprom – 陈敏俊 五舟

答:UID的分配遵循天池规范要求,由厂商编码、组件类型和组件ID组成,其中厂商编码和组件类型由天池伙伴联盟管理,建议找对应的硬件PAE联系分配。CSR的烧录需要使用到bmc studio生成带签名的bin文件后烧录,具体流程建议在论坛求助。

问题4:伙伴过渡到华为签名的软件包只找到rootca.der文件,其它时间戳签名证书应该如何处理 – 孙国庆 华鲲

答:只需要预置rootca.der即可,不需要其它签名证书。

问题5:bingo是否支持hpm包签名 – 文成龙 同方

答:不支持。

问题6:是否有一个稳定的大版本发布 – 张滨 百信

答:4月初会有一个大版本发布。

工程能力每日答疑【第14期】

问题1:openUBMC提供的闭源二进制提供什么功能 – 陈敏骏 五舟

答:当前openubmc有少部分组件是闭源的,这部分组件通过社区conan仓提供服务二进制。

问题2:自己构建出来的busybox升级到环境后回退,可能是什么原因 – 肖凯力 五舟

答:可能原因自建的busybox安装路径/bin/busybox覆盖了rtos的/bin/busybox。经上板验证,自建的busybox程序是可以使用的,建议将自建的busybox安装路径与rtos的区分开,如安装到/opt/debug目录。

工程能力每日答疑【第10期】

问题1:升级V2可以使用的bios hpm包,报无效的升级包 – 陈敏骏 五舟

答:V2支持PKCS和PSS填充算法签名的固件,V3只支持PSS填充算法签名的固件,建议尝试使用PSS重签名后升级。也可以在升级时查看运行时日志/var/log/app.log确定固件无效的原因。

问题2:正式开源的时间 – 文成龙 同方

答:计划是330正式开源,届时gitcode.com源码仓以及openubmc.cn不再设置白名单访问。

问题3:工具(bmcgo、bmcstudio)发布的形式 – 孙国庆 华鲲

答:在独立软件包(deb、whl)包形式发布,建议了解一下manifest仓与bmcgo的版本约束关系(.bmcgo/bmcgo.conf),根据约束自动下载对应版本的工具。

工程能力每日答疑【第9期】

问题1:伙伴签名如何回退到华为签名 – 孙国庆 华鲲

答:切华为根的方法:将华为根证书放在manifest单板manifest.yml同级rootfs目录下,路径是opt/bmc/trust/partner/rootca.der,随后出包上传至环境,升级之后就能升级华为包。根证书查询地址,搜索 Huawei Integrity Root CA - G2

问题2:jenkins如何用于MR门禁 – 张滨 百信

答:建立参考

问题3:jenkins是否使用多任务并行 – 张滨 百信

答:根据

问题4:jfrog的使用。 – 陈敏骏 五舟

工程能力每日答疑【第8期】

问题1:是否可以协调一台未导入伙伴根的环境用于验证 – 文成龙 同方

答:找平台组协调。

问题2:伙伴签名是否能够支持安全启动 – 孙国庆 华鲲

答:安全启动正在推动落地,后续会同时支持安全升级和安全启动。

问题3:硬件CSR文件是如何写入到板卡EEPROM 陈敏骏 五舟

答:CSR可以打包成hpm包,由升级程序写入EEPROM。

问题4:BMC环境上缺少I2C调试工具 陈敏骏 五舟

答:busybox自带了i2cdetect i2cget i2cset命令,可以调试I2C接口(后续作一期培训)

问题5:bmc studio暂时未开放,是否有能力打包csr固件 陈敏骏 五舟

答:csr固件打包hpm包等stuido开放(预计330)。

问题6:RAID卡如何适配 陈敏骏 五舟

答:在论坛提问,由业务团队解答。

问题7:自动化测试能力的开放计划 – 任平 同方

答:已规划到25年计划,分阶段落地。

工程能力每日答疑【第7期】

问题1:打包CPLD的脚本是否可以开放 – 孙国庆 华鲲

答:已答复,后续需要新增文档,此部分功能依赖bmcgo,社区版本bingo暂不支持。

问题2:V2有没有计划支持伙伴独立签名 – 孙国庆 华鲲

答:不支持。

问题3: bmcgo new创建组件,git remote add以后编译不过 – 杨铤 宝德

答:设置环境变量LOG=info后会将堆栈打印出来,可以跟踪发生了什么错误。

问题4:环境已经导根,无法验证伙伴独立签名功能,是否有办法远程清根 – 文成龙 同方

答:不允许清除根证书。

工程能力每日答疑【第6期】

问题1:CPLD、电源等固件更换固件签名后是否支持升级。 – 孙国庆 华鲲

答:HPM的CMS签名用以验证文件来源和固件完整性,不会修改固件本身,原来的升级流程还是适用的,支持升级。

问题2:根证书泄露&过期后是否支持现网切换根。-- 孙国庆 华鲲

答:如果启用安全启动,不支持现网同时切换根。

工程能力每日答疑【第5期】

问题1:伙伴签名配置签名服务器策略simple_signer_server配置缺失 - 孙国庆 华鲲

答:伙伴签名只有bmcgo有,待新版本的bmcgo版本发布。

问题2:构建制品的名称是否可以自定义 – 百信 欧阳勇刚

答:产品构建使用bmcgo publish,对应tosupportemanufacture的配置项,支持文件名重命名。 参考: manifest.yml支持的模板变量说明 - CICD - openUBMC 论坛

问题2:社区版本的质量管控,是否可以直接用于产品发布 – 程子明 长江计算

答:正式开源后会有版本运作和测试看护,社区版本分release版本和develop版本,期望大家将自己的方案、修改同步到社区,由社区看护质量,降低看护成本。

工程能力每日答疑【第4期】

问题1:构建装备包失败,提醒event模块build时ModuleNotFoundError: no module named registry – 华鲲

答:安装registry,命令pip3 install registry

问题2:openubmc构建装备包时报schema校验失败,用vscode打开时发现使用的schema文件是/usr/share/bmcgo/schema/manifest.platform.schema.json

答:openubmc默认使用的manifest.platform.schema.json,不支持manufacture装备包配置和构建。支持装备包构建需要将schema文件替换成/usr/share/bmcgo/schema/manifest.schema.json并配置manufacture策略。

工程能力每日答疑【第3期】

问题1:如何加入gitcode.com/openubmc

答:当前社区处于试运营阶段,人员采用邀请制,请找接口PAE发送邀请链接。

问题2:社区仿真能力怎么样了,bmcgo qemu命令提供了什么功能

答:有规划 qemu仿真功能开放。bmcgo qemu提供仿真环境创建能力。

问题3:bmcgo studio提供的功能

答:studio是openUBMC的一站式开发平台,支持接口定制、原生开发、编译构建和板卡定制等功能。

工程能力每日答疑【第2期】

疑问1:流水线门禁,静态代码检查能力如何赋能(伙伴述求:代码静态检查能力与社区对齐) – 长江计算 - 李小灿

答:社区静态检查能力来自于majun平台,majun平台是基于华为云的codeArt实现,可以向华为云采购。

疑问2:dockerfile制作镜像时需要使用多个软件源,关于dev_tools开发包如何集成。

答:跟随社区大版本发布,关注社区消息即可;另外社区的manifest仓已提供dockerfile,已集成dev_tools工具,并有相关文档,请大家参考增量开发适合伙伴自己的镜像。 长江计算 - 李小灿

疑问3:社区自动化测试平台。

答:华为会做适当的测试工具和用例开放,今年有规划。 长江计算 - 李小灿

疑问4:bingo和bmcgo的区别。

答:bingo是社区版的一站式构建工具。昆仑 - 李壮

本期培训:bmcgo基本使用

1、bmcgo及其子命令都支持–help快速获取帮助;
2、LOG=info环境变量可以在工具报错时打印堆栈,提高可定位性;
3、bmcgo config支持配置;
4、bmcgo upgrade支持升级环境;
5、bmcgo fetch支持拉源码。其它功能请开发者探索。

工程能力每日答疑【第1期】

疑问1:如何打包装备包。


1、vscode安装yaml插件。
2、使用vscode 触发建议 提升配置效率,可以提示必选项,可选值等。
3、配置manufacture/05024xxx编码,建议参考其它单板的配置增量修改。
4、构建命令bmcgo publish-sc参数构建tosupporte现网发布包;-z参数构建生产装备包。

疑问2:如何使用签名服务

答:
1、签名工具是hpm_signer
2、签名配置由/usr/share/bmcgo/schema/manifest.schema.json模式文件约束。

  • base/signature/certificates配置签名证书、吊销列表等,实现开发者本地签名(此方法需要在开发者环境预置签名密钥,有安全风险 )
  • base/signature/simple_signer_server配置在线签名服务器,该方案需要配合 长江计算 贡献的在线签名服务工具,可以避免在开发者环境存储签名密钥,提高安全性。、

疑问3:vpd的schema如何使用

答:建议此问题向对应sig组求助,求助的方式包括文档、issue、论坛、sig例会、tc等

2 个赞

工程能力每日答疑【第34期】

问题1:从试运营迁移到25.03版本时,构建失败 – 蒋超 百敖

答:单独提问题帖子。

问题2:推送conan包时报export_sources失败 易重辉 长江

问题3:conan本地仓、远程仓应该如何管理 陈敏骏 五舟

答:本地仓仅用于调试,远程仓者是团队化运作日常使用的conan仓。

问题1:qemu启动时网络连接失败 – 张超 百敖

 https://discuss.openubmc.cn/t/topic/661/2

答:在论坛帖子中单独跟踪。

问题:1230版本迁移2503版本,伙伴自签名问题咨 1230版本迁移2503版本,伙伴自签名问题咨询 - #2,来自 xuhaijun – 蒋超 百敖

答:在论坛帖子中单独跟踪。

问题:是否可以替换cms直接升级bmc固件,跳过过渡包 – 陈敏骏 五舟

答:bmcgo支持安全启动和安全升级,安全升级会使用BMC记录的根证书校验固件签名,所以被升级的固件签名方式一定要与根证书匹配。
1. 未开启安全启动时:将华为固件切换到伙伴固件时,可以将伙伴hpm包签名替换成华为签名,安全升级时会使用华为签名完成校验,重启之后就能继续升级伙伴固件。
2. 开启安全启动:替换cms签名方式以及过渡包等方案都不可行,只能生效系统导入的根匹配的签名固件(不匹配的签名固件如果替换签名可以升级但不会生效,系统会自动回退)。

工程能力每日答疑【第35期】

问题:伙伴conan私仓无法级联openubmc社区仓,无法搜索remote – 文成龙 同方

答:需要单独定位。

问题:社区版本release的uboot异常,问题进展如何 – 易重辉 长江

答:先使用debug包,具体问题还在定位。

问题:bmcgo版本是否可以自动升级 – 黄梁 华鲲

答: 支持bingo/bmcgo在线升级功能还在规划

问题:高可用里面没有bmcgo – 陈敏骏 五舟

答:需要找陈芝奔了解,计划4.30组织一期高可用软件包使用指导。

问题:开源的VPD和高可用的VPD存在冲突,应该如何解决 – 彭成 华鲲

答:手工解决。

问题:是否有必要构建一个公共的conan仓 – 程晓菊 同方

答:需要。openUBMC的组件交付采用了生产者和消费者模型,生产者负责开发组件并向conan仓发布,消费者只需要从conan仓获取组件包,所以conan仓是openubmc组件化开发团队的基础设施,需要构建一个在线的、团队可以访问的conan仓。

工程能力每日答疑【第33期】

问题1:社区版本是否支持白版包 – 邱明 华启

答:已支持,请参考 :openUBMC品牌包定制指南

问题2:部件 上面的CSR是否支持升级,是否可以出厂时不配置csr – 陈敏骏 五舟

答:支持升级CSR;部件出厂时为确保功能正确,一般都配置了CSR,如果伙伴对部件有特殊要求,可以找部件厂商了解。

问题3:是否支持在伙伴现场制作CPLD HPM包 – 陈敏骏 五舟

答:制作CPLD HPM包的工具,如filesizecheck crypto_tool 和 hpmimage等工具由bingo安装,打包hpm主要缺少的是HPM固件配置文件,需要找CPLD了解。

  • 电源、风扇、VRD等固件是相似的逻辑。

问题4:bingo构建时提示下载flatbuffer失败 – 程晓菊 同方

答:需要手工安装flatbuffer,命令apt install flatbuffer-compiler

问题5:从伙伴签名切换到华为签名应该怎么操作 – 黄梁 华鲲

答:如果开启了安全启动,是不允许升级到华为签名。

问题6:切换到伙伴模式和切换到社区模式有什么区别 – 黄梁 华鲲

答:切换到伙伴模式实质是替换CA根证书;切换到社区模式实质是禁用签名校验。

工程能力每日答疑【第30期】

问题1:社区代码bios、manifest有一个新的分支,这个分支是否是稳定版本的代码 – 文成龙 同方

答:main是开发分支,br_release_openUBMC2503_20250330是发布分支和维护分支。

问题2:conan下载时不会自动下载package,需要指定package_id,是否有办法可以一键下载所有二进制 – 孙国庆 华鲲

答:经与conan官方仓(https://center.conan.io)对比验证,确认我们的conan仓的行为存在不一致,无法获取和下载package,已提工单给云服务供应商,正在推动解决。

当前的规避手段就是在本地构建一次产品或组件,自动下载二进制,缺陷是二进制可能不全,需要伙伴将bmcgo build的各参数都构建一次。

问题3:qemu需要半个小时才能在web登录,是否有问题。 – 郭馨 昆仑

答:qemu性能正在提升。

问题4:qemu的文档不全,只覆盖了怎么运行,缺少如何使用、定制的指导。-- 郭馨 昆仑

答:把需求同步给开发,继续补齐。

工程能力每日答疑【第29期】

问题1:签名转换包(伙伴转华为)的rootca.der怎么构建-- 孙国庆 华鲲

答:将待转换的目标根证书(华为切伙伴,目标根证书是伙伴根;伙伴切化为,目标根证书是华为根)放在manifest仓manifest.yml同级rootfs目录下,路径是opt/bmc/trust/partner/rootca.der,随后出包上传至环境,升级之后就能升级目标根签名的hpm包。

问题2:V2环境如何切换伙伴根签名 – 邱明 华启

答:需要先升级到V3,只有V3才支持切换签名根。

工程能力每日答疑【第26期】

培训:本次培训了组件和产品级的rootfs定制化方法。

问题1:是否有安全启动的文档 – 文成龙 同方

答:需要推动sig-security建设文档,本次讲解了安全启动基本流程。

工程能力每日答疑【第25期】

培训:本次培训了emmc文件系统读写状态修改方法

问题1:伙伴应该使用稳定发行版还是在研版本 – 文成龙 同方

答:建议基于稳定发行版开发,如果稳定发行版不能满足产品述求的可以单独引入社区新开发的某个特性代码。

问题2:社区发行版发布周期 – 唐昌平 同方

答:还未确定,由sig-RM管理,建议等待正式的社区发文。

问题3: 伙伴签名是否必须配置所有签名密钥和配置 – 邱明 华启

答:是,以schema校验为准。

问题4:版本号规划是否有强制要求 – 黄敏才

答:建议找接口PAE了解。

问题5: 安全启动是否要求所有固件都使用同一个证书签名 – 陈敏骏 五舟

答:安全启动信任链传递过程,每个链条都可以定义自己如何信任下一级,所以是否使用同一个证书并没有 铁律

工程能力每日答疑【第24期】

问题1、社区镜像初始化时报sdk安装错误 – 邱明 华启

答:应该下载 bmc_sdk.zip。manifest.yml的readme文档需要增加说明,已将问题同步给开发者。

问题2、签名放在manifest.yml,但签名失败,可能是什么原因 – 张滨 百信

答:建议先尝试使用hpm_signer和hpm_verify验证签名。

问题3、社区conan仓地址是否有变更 – 孙国庆 华鲲

答:社区conan仓地址变更为:

conan remote add openubmc_dev https://conan.openubmc.cn/conan_1 false
conan user 社区用户名 -p 社区用户密码 -r openubmc_dev

工程能力每日答疑【第22期】

问题1、社区包因为sdk变更导致binary missing,原理是什么 – 刘杰 神州鲲泰

答:部分组件(libsoc_adapter、ipmi_core、linux)依赖/opt/hi171x_sdk/Module.symvers的内核符号表,当符号表不匹配(变更)会产生功能异常,请确保sdk版本匹配,可以使用manifest仓的init.py初始化环境。

问题2、应该使用哪种方式构建开发环境 – 文成龙 同方

答:只要是ubuntu24.04的环境都可以用于开发。社区的manifest仓的init.py脚本可用于初始化系统,同时提供了dockerfile可用于创建docker镜像。

问题3、在V3的伙伴签名环境上升级V2的BIOS包失败,原因可能是什么 – 陈敏骏 五舟

答:在伙伴签名的环境只能升级伙伴签名的固件,包括电源、风扇、BBU、CPLD、BIOS等都需要使用伙伴的签名。此问题的根因是BIOS固件未转换成伙伴签名,在升级时验签失败。

问题4、在场内构建的固件都有华为签名,是否都需要在场外重新签名 – 陈敏骏 五舟

答:当前场内构建的固件还是华为签名,需要伙伴在场外驳离华为签名后重新签名。待伙伴独立签名能力完全落地后,华为外发的固件将不再带签名,由伙伴在场外重新签名。

工程能力每日答疑【第21期】

问题1:ipmi命令导入根和manifest.yml配置的根是什么关系 – 文成龙 同方

答:ipmi导入的是根公钥的hash,manifest.yml配置的是根公钥,根公钥会打包/升级到环境上,启动时会使用根公钥hash校验根公钥,确保公钥不被篡改。

问题2:日志未打印有哪些场景 – 陈敏骏 五舟

答:1、日志打印方式不对或日志观测方式不对;2、日志等级不够,可以尝试使用log:error打印日志;3、日志限流导致日志未打印;4、未执行打印日志的代码。

问题3:上传conan仓时建议使用https而不是git/ssh的原因 – 文成龙 同方

答:使用https有几个好处,包括443端口一般不会被防火墙拦截(22号端口很多公司都是有拦截的);https更容易配置代理。

问题4:社区的官网当前还有IP限制 – JZYH 彭爽

答:待正式开源汇报完成后解除。

工程能力每日答疑【第19期】

问题1:之前的manifest老代码报conan包找不到,近期新老版本构建出问题了,新版本 – 文成龙 同方

答:近期sig-release正式开源,把代码历史清除导致历史发布的conan包失效,待正式开源后会恢复。

问题2:conan包的scm信息如何管理,从社区克隆的开源仓是否需要手工维护scm信息 – 易重辉 长江计算

答:conan包的scm信息包含url和revision,其中url是从构建代码的git remote -v自动提取的,伙伴只需要使用**https://git://**克隆自己的代码仓再构建即可。revision也是自动从代码仓提取的。

问题3:VPD的board_name在不同vendor是否可以重复 – 李壮 昆仓

答:board_name不允许重复。【注意:VPD当前单板只支持存储在vendor/Huawei/Server目录】

问题4:CPLD、电源等固件未开源,都是使用华为证书签名的hpm包,是否支持伙伴直接升级华为的签名HPM包,或者要求必须伙伴重新签名 – 张磊 长计

答:需要使用厂商独立签名工具完成hpm重签后再次发布,签名是一种承诺,表示经过伙伴的测试验证,充分考虑了兼容性、发布计划等各种因素,可以有效避免客户界面的hpm包混乱(场景如:客户升级未经伙伴验证的华为签名hpm包,导致伙伴维护界面混乱)。

工程能力每日答疑【第17期】

问题1:openUBMC的配置是从SR文件读取,整机信息实际是从EEPROM中读出,请问是什么逻辑 – 文成龙 同方

答:EEPROM中存储了硬件CSR。

问题2:场外构建烧片包报错emmc_uboot_header.config文件不存在错误 郑豪伟 昆仓

答:按python3打印的堆栈注释掉出错行即可。

工程能力每日答疑【第16期】

培训:manifest.yml配置说明

答:本次完成了manifest.yml的schema模型的培训.

问题1:社区的《环境准备》章节有错误,manifest/dockerfile里面是正确的,应该以哪个为准 – 文成龙 同方

答:在docs仓提issue跟踪文档错误;dockerfile会持续更新,做为后续开发者镜像自动化构建的一部分。

问题2:如何访问gitcode.com代码仓用于构建组件 – 王加凯 神码

答:需要配置.git-credential配置。

问题3:如何生成csr的uid以及烧写eeprom – 陈敏俊 五舟

答:UID的分配遵循天池规范要求,由厂商编码、组件类型和组件ID组成,其中厂商编码和组件类型由天池伙伴联盟管理,建议找对应的硬件PAE联系分配。CSR的烧录需要使用到bmc studio生成带签名的bin文件后烧录,具体流程建议在论坛求助。

问题4:伙伴过渡到华为签名的软件包只找到rootca.der文件,其它时间戳签名证书应该如何处理 – 孙国庆 华鲲

答:只需要预置rootca.der即可,不需要其它签名证书。

问题5:bingo是否支持hpm包签名 – 文成龙 同方

答:不支持。

问题6:是否有一个稳定的大版本发布 – 张滨 百信

答:4月初会有一个大版本发布。

工程能力每日答疑【第14期】

问题1:openUBMC提供的闭源二进制提供什么功能 – 陈敏骏 五舟

答:当前openubmc有少部分组件是闭源的,这部分组件通过社区conan仓提供服务二进制。

问题2:自己构建出来的busybox升级到环境后回退,可能是什么原因 – 肖凯力 五舟

答:可能原因自建的busybox安装路径/bin/busybox覆盖了rtos的/bin/busybox。经上板验证,自建的busybox程序是可以使用的,建议将自建的busybox安装路径与rtos的区分开,如安装到/opt/debug目录。

工程能力每日答疑【第10期】

问题1:升级V2可以使用的bios hpm包,报无效的升级包 – 陈敏骏 五舟

答:V2支持PKCS和PSS填充算法签名的固件,V3只支持PSS填充算法签名的固件,建议尝试使用PSS重签名后升级。也可以在升级时查看运行时日志/var/log/app.log确定固件无效的原因。

问题2:正式开源的时间 – 文成龙 同方

答:计划是330正式开源,届时gitcode.com源码仓以及openubmc.cn不再设置白名单访问。

问题3:工具(bmcgo、bmcstudio)发布的形式 – 孙国庆 华鲲

答:在独立软件包(deb、whl)包形式发布,建议了解一下manifest仓与bmcgo的版本约束关系(.bmcgo/bmcgo.conf),根据约束自动下载对应版本的工具。

工程能力每日答疑【第9期】

问题1:伙伴签名如何回退到华为签名 – 孙国庆 华鲲

答:切华为根的方法:将华为根证书放在manifest单板manifest.yml同级rootfs目录下,路径是opt/bmc/trust/partner/rootca.der,随后出包上传至环境,升级之后就能升级华为包。根证书查询地址,搜索 Huawei Integrity Root CA - G2

问题2:jenkins如何用于MR门禁 – 张滨 百信

答:建立参考

问题3:jenkins是否使用多任务并行 – 张滨 百信

答:根据

问题4:jfrog的使用。 – 陈敏骏 五舟

工程能力每日答疑【第8期】

问题1:是否可以协调一台未导入伙伴根的环境用于验证 – 文成龙 同方

答:找平台组协调。

问题2:伙伴签名是否能够支持安全启动 – 孙国庆 华鲲

答:安全启动正在推动落地,后续会同时支持安全升级和安全启动。

问题3:硬件CSR文件是如何写入到板卡EEPROM 陈敏骏 五舟

答:CSR可以打包成hpm包,由升级程序写入EEPROM。

问题4:BMC环境上缺少I2C调试工具 陈敏骏 五舟

答:busybox自带了i2cdetect i2cget i2cset命令,可以调试I2C接口(后续作一期培训)

问题5:bmc studio暂时未开放,是否有能力打包csr固件 陈敏骏 五舟

答:csr固件打包hpm包等stuido开放(预计330)。

问题6:RAID卡如何适配 陈敏骏 五舟

答:在论坛提问,由业务团队解答。

问题7:自动化测试能力的开放计划 – 任平 同方

答:已规划到25年计划,分阶段落地。

工程能力每日答疑【第7期】

问题1:打包CPLD的脚本是否可以开放 – 孙国庆 华鲲

答:已答复,后续需要新增文档,此部分功能依赖bmcgo,社区版本bingo暂不支持。

问题2:V2有没有计划支持伙伴独立签名 – 孙国庆 华鲲

答:不支持。

问题3: bmcgo new创建组件,git remote add以后编译不过 – 杨铤 宝德

答:设置环境变量LOG=info后会将堆栈打印出来,可以跟踪发生了什么错误。

问题4:环境已经导根,无法验证伙伴独立签名功能,是否有办法远程清根 – 文成龙 同方

答:不允许清除根证书。

工程能力每日答疑【第6期】

问题1:CPLD、电源等固件更换固件签名后是否支持升级。 – 孙国庆 华鲲

答:HPM的CMS签名用以验证文件来源和固件完整性,不会修改固件本身,原来的升级流程还是适用的,支持升级。

问题2:根证书泄露&过期后是否支持现网切换根。-- 孙国庆 华鲲

答:如果启用安全启动,不支持现网同时切换根。

工程能力每日答疑【第5期】

问题1:伙伴签名配置签名服务器策略simple_signer_server配置缺失 - 孙国庆 华鲲

答:伙伴签名只有bmcgo有,待新版本的bmcgo版本发布。

问题2:构建制品的名称是否可以自定义 – 百信 欧阳勇刚

答:产品构建使用bmcgo publish,对应tosupportemanufacture的配置项,支持文件名重命名。 参考: manifest.yml支持的模板变量说明 - CICD - openUBMC 论坛

问题2:社区版本的质量管控,是否可以直接用于产品发布 – 程子明 长江计算

答:正式开源后会有版本运作和测试看护,社区版本分release版本和develop版本,期望大家将自己的方案、修改同步到社区,由社区看护质量,降低看护成本。

工程能力每日答疑【第4期】

问题1:构建装备包失败,提醒event模块build时ModuleNotFoundError: no module named registry – 华鲲

答:安装registry,命令pip3 install registry

问题2:openubmc构建装备包时报schema校验失败,用vscode打开时发现使用的schema文件是/usr/share/bmcgo/schema/manifest.platform.schema.json

答:openubmc默认使用的manifest.platform.schema.json,不支持manufacture装备包配置和构建。支持装备包构建需要将schema文件替换成/usr/share/bmcgo/schema/manifest.schema.json并配置manufacture策略。

工程能力每日答疑【第3期】

问题1:如何加入gitcode.com/openubmc

答:当前社区处于试运营阶段,人员采用邀请制,请找接口PAE发送邀请链接。

问题2:社区仿真能力怎么样了,bmcgo qemu命令提供了什么功能

答:有规划 qemu仿真功能开放。bmcgo qemu提供仿真环境创建能力。

问题3:bmcgo studio提供的功能

答:studio是openUBMC的一站式开发平台,支持接口定制、原生开发、编译构建和板卡定制等功能。

工程能力每日答疑【第2期】

疑问1:流水线门禁,静态代码检查能力如何赋能(伙伴述求:代码静态检查能力与社区对齐) – 长江计算 - 李小灿

答:社区静态检查能力来自于majun平台,majun平台是基于华为云的codeArt实现,可以向华为云采购。

疑问2:dockerfile制作镜像时需要使用多个软件源,关于dev_tools开发包如何集成。

答:跟随社区大版本发布,关注社区消息即可;另外社区的manifest仓已提供dockerfile,已集成dev_tools工具,并有相关文档,请大家参考增量开发适合伙伴自己的镜像。 长江计算 - 李小灿

疑问3:社区自动化测试平台。

答:华为会做适当的测试工具和用例开放,今年有规划。 长江计算 - 李小灿

疑问4:bingo和bmcgo的区别。

答:bingo是社区版的一站式构建工具。昆仑 - 李壮

本期培训:bmcgo基本使用

1、bmcgo及其子命令都支持–help快速获取帮助;
2、LOG=info环境变量可以在工具报错时打印堆栈,提高可定位性;
3、bmcgo config支持配置;
4、bmcgo upgrade支持升级环境;
5、bmcgo fetch支持拉源码。其它功能请开发者探索。

工程能力每日答疑【第1期】

疑问1:如何打包装备包。


1、vscode安装yaml插件。
2、使用vscode 触发建议 提升配置效率,可以提示必选项,可选值等。
3、配置manufacture/05024xxx编码,建议参考其它单板的配置增量修改。
4、构建命令bmcgo publish-sc参数构建tosupporte现网发布包;-z参数构建生产装备包。

疑问2:如何使用签名服务

答:
1、签名工具是hpm_signer
2、签名配置由/usr/share/bmcgo/schema/manifest.schema.json模式文件约束。

  • base/signature/certificates配置签名证书、吊销列表等,实现开发者本地签名(此方法需要在开发者环境预置签名密钥,有安全风险 )
  • base/signature/simple_signer_server配置在线签名服务器,该方案需要配合 长江计算 贡献的在线签名服务工具,可以避免在开发者环境存储签名密钥,提高安全性。、

疑问3:vpd的schema如何使用

答:建议此问题向对应sig组求助,求助的方式包括文档、issue、论坛、sig例会、tc等

工程能力每日答疑【第38期】

问题1:conan仓配置远程仓时应该使用哪个地址 昆仑太科 刘涛

答:社区conan仓(短地址)存在一个正在解决的问题,需要使用华为云的conan原始地址。

问题2:签名时使用的CA根证书、签名证书和时间戳证书都用在哪些场景/场合 程晓菊 同方

答:openUBMC使用根CA校验安全启动和安全升级的CMS签名,CMS签名包含了签名证书公钥(及证书链)、时间戳签名公钥(及证书链)、固件签名和时间戳签名。
固件签名是由签名证书对filelist文件签名得到,时间戳签名是由时间戳签名证书对签名的时间签名得到,时间戳签名用于验证CMS签名的时间,可与crl证书吊销列表文件、签名证书有效期配合证明固件签名时签名证书有效。

问题:社区版本openUBMC/25.3构建后ssh无法登录,可以ping通,什么原因 朱俊杰 宝德

答:需要升级account组件的版本到1.70.22或之后的版本。

工程能力每日答疑【第39期】

问题1:CMS签名使用场景 陈晓菊 同方

答:安全启动和安全升级会使用CMS签名验证软件包完整性,其中安全升级场景使用CMS验证HPM包完整性,安全启动场景使用CMS验证rootfs/uboot完整性。

问题2:华为的CA根下载地址 陈敏骏 五舟

答:参考第9期答疑纪要,CA根证书下载地址:https://support.huawei.com/pki/pkidetail!loadCatagoryPkiData.action?type=PKI_TYPE-ROOT

问题3:构建thermal_mgtm时报构建依赖冲突,如何解决。百信 张滨

答:建议在社区发帖求助,提供详细的背景、操作和日志。

工程能力每日答疑【第40期】

问题1:社区是否可以对接ejbca签名平台 沈威 百信

答:建议在鲲鹏专区提需求,

工程能力每日答疑【第45期】

问题:ssl证书是否可以预置在bmc hpm包中 陈敏骏 五舟

答:1、可以使用白牌包预置SSL证书;2、社区正在规划一个支持BMC HPM包预置白牌能力的功能,可以减少一次白牌工作量。

问题:组件的option特性如何在产品侧裁剪

答:组件的mds/service.json文件提供了options描述组件包支持的特性,产品manifest.yml可以精准裁剪/定制特性。

示例:rackmount组件的service.json节选

{
    "options": {
        "oem" :{
            "option":[
                "openUBMC",
                "huawei"
            ],
            "default": "openUBMC"
        }
    }
}

解释:rackmount组件定义了oem特性,枚举类型,支持openUBMC、huawei两个选择,未指定oem特性时默认为openUBMC。(oem具体实现什么功能由组件定义,可以检查组件源码或寻求社区帮助)
使用:在manifest.yml文件中增加以下描述可以定制rackmount的oem特性

  - conan: rackmount
    options:
          oem: huawei

工程能力每日答疑【第48期】

问题:安装WSL等环境准备阶段依赖root权限,非root用户安装失败。

答:当前bingo和studio依赖root权限,需要开发者切换到root用户或者为非root用户添加sudo权限。软件工程团队规划了非root能力,降低运行权限,还在分析方案,具体时间待定。

问题:白牌包能否集成到制品包中?

答:此需求当前已经在设计阶段,本季度会上新此功能。

问题:如何在社区发布补丁版本和维护版本?

答:bingo提供了maintain功能,开发者可执行bingo maintain -h命令查看帮助说明。后续也会在论坛中上传maintain指导文档说明。

问题:mainfest.yml中配置烧片包打包文件时,能否通过配置目录,将目录下的所有文件都打包进去?

答:Good idea, 但当前不支持。

使用files明确声明需要打包的所有文件有一些优点,比如可以更直观,可定位性更强,方便文件复用。
使用目录级声明的优点是简化配置,可能会导致可定位性不够(如不清楚某个文件被哪些包使用)、文件需要重复存储(不同装备包可能会有相同或相似的文件)等问题。

社区可以考虑新增目录复制策略,简化配置,开发者可以按需要选择申明方式。

问题:组件的三段式办版本号分别表示什么?

答:建议了解 语言化版本号规则。 三段式版本号的第一段是主版本号,第二个为子版本号,第三个为补丁版本号。一般来说,对功能的修复或者小修改只需要更新补丁版本号。如果增加大颗粒需求时,可以更新子版本号。当出现重大更新或不兼容更新时需要变更主版本号。

1 个赞

1. 工程能力每日答疑【第30期】

问题2 规避措施

执行以下命令规避openUBMC的conan仓下载不了package的问题:
echo $(pip3 show conan | grep -oP ‘Location:\s*\K.*’)/conans/client/remote_manager.py | xargs sed -i ‘s/recipe_hash/recipeHash/g’

1 个赞

工程能力每日答疑【第56期】

问题:《 自签名CA创建以及HPM签名指导 》这篇指导是否仍然可以指导出 hpm 签名包?

答:是的。另外,签名当前只能用定向的bmcgo 。bingo 要等 openUBMC 25.06 发布,而且依赖的 crypto_tool 、manifest/build/manufacture/misc/datatocheck_upgrade.dat与manifest/build/manufacture/misc/pme_profile_en.dat 需要PAE 定向给伙伴。

问题: 烧片包规划是怎样的?伙伴是否可以通过 openUBMC 社区源码出烧片包?

答:目前版本没有规划,烧片功能仍然需要通过 PAE 定向给伙伴的 bmcgo 提供。

问题:0630 后伙伴侧 bingo 和 bmcgo 是否归一?

答:由于烧片包和白牌包的功能仍未规划,所以 bingo 和 bmcgo 仍要进行一段时间的共存。

问题:V2 有带内传输文件的工具,请问 V3 是否有类似的工具?

答:可以使用veth的网络连接BMC,跟使用BMC管理网络基本一样,不受工具差异影响 。

问题:后续版本是否有配置 user/channel 的选项?目前有伙伴侧有如下应用场景,同一 conan 仓存储了多种 user/channel 名称的制品, 后续是否会对这个诉求进行优化?

答:在构建时可以通过 service.json 或者 manifest.yml 、subsys 下的配置文件指定明确的 user/channel 进行配置。也可以通过 --user 或者在 /etc/bmcgo.conf 里进行指定 user/channel.