本文基于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所示。


其中需要注意的是:
①CMakeLists.txt文件的文件名和后缀都是固定的,不能出错;
②.bb文件的文件名即是应用包的名称,在配置镜像生成文件时要用到,而且要保持一致。
第二部分:编写与编译程序源码
这部分主要是介绍程序源码的编写,以程序员最拿手的打印输出“Hello World!!!”为例,在第一部分中的main.c中包含helloworld.h,并编写main函数,如图3所示。
就简单的一个打印输出为什么要搞3个文件来说明?因为本示例是要说明如何将多个程序源码文件的应用软件编译、配置并添加到openbmc镜像中的,这也是常用的一种场景。