新增组件经验分享

一、执行社区流程

# 进入到工作目录
cd /home/workspace
​
# 创建新组件
bingo new -n iserial_display -t application -l lua
​
# 单步执行新增组件效果如下

image-20250523184646773

# 修改service.json 添加依赖
"required": [
        {
            "path": "*",
            "interface": "bmc.kepler.Systems.Processor",
            "properties": {}
        },
        {
            "path": "*",
            "interface": "bmc.kepler.Bus.BlockIO",
            "properties": {}
        },
        {
            "path": "*",
            "interface": "bmc.kepler.Managers.EthernetInterfaces",
            "properties":{}
        },
        {
            "path": "*",
            "interface": "bmc.kepler.Managers.EthernetInterfaces.Ipv4",
            "properties": {}
        }
    ]
    
   # 执行生成代码命令 
   bingo gen
   # 编译组件
   bingo build
   
   # 修改manifest的manifest/build/product/BMC/openUBMC/manifest.yml
   # 添加组件依赖
     dependencies:
  - conan: "iserial_display/0.0.1@openUBMC.release/rc"

二、组件运行问题解决

执行了社区流程之后,在开发阶段无法运行业务代码,经过排查发现还需要修改以下文件

  1. workspace/source/manifest/build/customization/prototype.py

  1. 对应的config文件workspace/source/manifest/build/product/BMC/openUBMC/rootfs/opt/bmc/apps/hica/subsys/energy/config.cfg

  2. 对应的launch_control.json

  3. 修改conan文件以及manifest

  4. 再次编译运行即可使得新增组件代码生效。

1 个赞

感谢分享。

帖子里的内容将会汇总到新增组件教学指导中: