Yocto中一个软件包是放在bb文件中的,然后很多的bb文件集成一个recipe(配方),然后许多的recipe又组成一个meta layer,因此,要添加一个包其实就是在recipe下面添加一个bb(bitbake配置文件)。下面使用helloworld作为一个例子。
首先是进入到一个recipe目录下,例如下面就是到了recipes-graphics:
$ pwd /media/work/iMX6/Yocto/sources/meta-fsl-arm/recipes-graphics
git clone https://github.com/tonyho/helloYocto.git
09:25 hexiongjun:imx6qsabresd_build $ bitbake -s | grep hello hello :3-r0
使用tree可以看到,其有一个bb文件,然后其中还有一个目录放着Makefile与source code:
其中的bb文件内容如下:
DESCRIPTION = "Hello World and Zlib test" DEPENDS = "zlib" SECTION = "libs" LICENSE = "MIT" PV = "3" PR = "r0" SRC_URI = " file://helloYocto.c file://zlibtest.c file://makefile " LIC_FILES_CHKSUM = "file://helloYocto.c;md5=2dac018fa193620dc085aa1402e0b346" S = "${WORKDIR}" do_compile () { make } do_install () { install -d ${D}${bindir}/ install -m 0755 ${S}/helloYocto ${D}${bindir}/ install -m 0755 ${S}/zlibtest ${D}${bindir}/ } FILES_${PN} = "${bindir}/helloYocto ${bindir}/zlibtest "
可以看到,bb文件中指定了下面几个变量的值:
还有两个方法,这2个方法重载了bitbake中默认方法:
这两个方法,对应了Package中的compile与install task。
Yocto tips (10): Yocto hellworld 添加一个软件包
原文:http://blog.csdn.net/sy373466062/article/details/50381067