openbmc镜像添加应用软件过程

        本文基于nf5180m7项目记录了如何在openbmc镜像中添加自己开发的应用软件,这对于开发openbmc下的一些工具类应用软件并将它们添加到openbmc镜像中来讲,是十分有帮助的。

       下面以新建并添加程序员最拿手的helloworld工具打印输出“Hello World!!!”的应用软件为例进行说明这一过程。

第一部分:添加c语言文件

这部分主要是在openbmc的recipes-phosphor包中新增c语言文件并创建cmake的过程。

1.在openbmc/meta-inspur/meta-nf5180m7/recipes-phosphor新建hello文件夹,用于存放要开发开的程序文件夹和该应用软件的.bb文件,其中.bb文件是Yocto的配方文件,在hello文件夹下再新建一个files文件夹,用于存放源码文件夹和CMakeLists.txt编译配置文件,在files文件夹下再新建src文件夹,用于存放.c源码程序文件及其.h文件,在本示例中新建了helloworld.c、helloworld.h以及main.c文件,编译这些文件的CMakeLists.txt,Yocto的配方文件hellocmake.bb,如图1和图2所示。

图1
图1
图2

其中需要注意的是:

①CMakeLists.txt文件的文件名和后缀都是固定的,不能出错;

②.bb文件的文件名即是应用包的名称,在配置镜像生成文件时要用到,而且要保持一致。

第二部分:编写与编译程序源码

这部分主要是介绍程序源码的编写,以程序员最拿手的打印输出“Hello World!!!”为例,在第一部分中的main.c中包含helloworld.h,并编写main函数,如图3所示。

就简单的一个打印输出为什么要搞3个文件来说明?因为本示例是要说明如何将多个程序源码文件的应用软件编译、配置并添加到openbmc镜像中的,这也是常用的一种场景。

### OpenBMC 开发入门指南 #### 了解OpenBMC基础概念 OpenBMC 是一个由Linux基金会支持的开源项目,专注于创建可定制化、模块化的固件解决方案,特别针对服务器和其他计算平台中的基板管理控制器(BMC)[^1]。 #### 获取源码并设置开发环境 为了开始参与OpenBMC项目的贡献,开发者需要先克隆官方GitHub仓库。通常情况下,建议使用Yocto Project构建系统来编译和配置目标硬件所需的镜像。这涉及到安装必要的依赖项以及熟悉Bitbake工具链。 ```bash git clone https://github.com/openbmc/barebox.git cd barebox source meta-openbmc/setup-environment build/tmp/work-shared/... bitbake openbmc-phosphor-image ``` 上述命令用于初始化一个新的工作目录,并准备相应的编译环境。 #### 探索现有功能和服务实现 通过研究现有的服务组件及其对应的D-Bus接口定义文件(位于`meta-bmc/meta-example/recipes-containers/services/files/`),新手可以获得如何扩展或修改当前行为的知识。这些例子展示了怎样利用Phosphor DMTF Redfish API Server等核心特性提供远程管理和监控能力。 #### 加入社区交流渠道 积极参与讨论组和技术论坛对于快速解决问题至关重要。除了维护者们活跃于GitHub Issues页面外,还可以考虑订阅邮件列表或者参加定期举行的IRC聊天室会议。这样不仅可以获得及时的帮助和支持,还能与其他爱好者分享经验心得。 #### 学习相关技术文档 由于OpenBMC紧密集成了一系列现代软件工程技术,因此掌握某些特定领域内的基础知识同样重要。例如,学习有关Yocto project的工作原理;理解嵌入式Linux内核裁剪技巧;甚至是对C++编程语言有一定认识都会有助于更高效地参与到这个充满活力的技术生态系统当中去。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值