openUBMC编译后,VPD新增的sr文件未生效

问题描述:
openUBMC本地构建时,在VPD仓增加板卡sr,进行组件编译后,再进行版本构建后,进入BMC后台,使用find命令,未找到新增的sr

诉求:
能否提供解决方案

现有docker版本构建记录说明:

  1. 新增sr文件
  2. 添加路径到profile
    image
  3. 组件编译构建
    image
  4. 在manifest中添加当前组件
    image
  5. 在manifest中整体构建出包

cat /etc/package_info | grep vpd
可以看看环境上的vpd组件版本是不是对的

1、产品集成的逻辑是“组件打包什么文件,产品就集成什么文件”,请检查组件的conan包package目录,确定组件正确打包了的文件。
2、ipmcget -d v检查bmc的构建时间和版本,确保是你期望的bmc版本。
3、检查/etc/package_info,确定正确集成了你期望的组件&版本。

  1. vpd 组件options默认为common(即空模板用于与产业组件进行集成),使用直接构建时出的组件包中opt/bmc/sr目录下不会有
  2. 本地需要构建联调时,在vpd组件构建命令后面加上options参数指定单板名,即 -o vpd:board_name=openUBMC
  3. 构建完成后再进行manifest整体构建出包。
  4. 可以在构建中间产物临时目录manifest/temp/build_xxx_debug_dev/conan_index/vpd/opt/bmc查看是否有新增的sr,其中xxx为构建的单板名。

好的,感谢各位支持,已经找到方案,需要在manifest.yml中的VPD指定board_name为S920X20后,再到X20 profile.txt中添加就实现加载

1.编译完成后可以直接再manifest/temp/build_openUBMC_debug_dev/tmp_root/opt/bmc/sr目录下查找是否文件有编译进去

那manifest.yml中vpd这个boardname如何配置呢,现在发现改为openUBMC后出包,会报WARN: [‘TaiShanServer2.9.0_CSR’, ‘vpd’]存在重复文件opt/bmc/sr/xxx
image

  1. vpd当前提供了3个产品单板,如下所示,对应3个不同的conan包,包含的sr文件也有所不同。
    image

  2. 看这3个单板是否满足业务需要,如果满足,选一个单板即可。

  3. 如果不满足业务需要,要搭配产业的CSR组件使用。使用board_name: common ,如下所示:

  1. manifest构建后,在构建中间产物临时目录manifest/temp/build_xxx_debug_dev/conan_index/vpd/opt/bmc 查看sr是否满足要求。

我们最开始用的common,新增sr未生效,然后我们指定了单板未openUBMC或者X20,会与taishan仓原有的sr冲突
因为我们项目最开始开发的sr是基于taishan仓来改的(现在未开放),现在放在VPD仓的openUBMC 单板下


诉求:

  1. 请问VPD新增的sr有办法覆盖taishan仓同名sr方法吗
  1. 新增组件仓库,参考示例组件
  2. 在mds/service.json文件中将vpd作为build依赖
  3. 新增单板配置目录(不能与vpd仓库中vendor下的第一级子目录同名),如TaiShan
 - TaiShan
   profile.txt
   - xxx
      xx.sr

添加需要vpd中的sr到profile.txt中,或自开发的sr添加到profile.txt中。

  1. 进行组件构建出包,
  2. 最后将组件配置在manifest中进行集成构建出包
 - conan:vpd_example/0.01
    options:
      board_name: Taishan

规避编译冲突问题方案:可以将conan二进制的TaishanServer2.9.0目录下的cffc下的sr移到vpd仓的openUBMC下,然后manifest.yaml中注释TaishanServer2.9.0组件