首页 > 其他 > 详细

Yocto tips (10): Yocto hellworld 添加一个软件包

时间:2015-12-23 11:01:10      阅读:444      评论:0      收藏:0      [点我收藏+]

Yocto中一个软件包是放在bb文件中的,然后很多的bb文件集成一个recipe(配方),然后许多的recipe又组成一个meta layer,因此,要添加一个包其实就是在recipe下面添加一个bb(bitbake配置文件)。下面使用helloworld作为一个例子。

clone bb文件

首先是进入到一个recipe目录下,例如下面就是到了recipes-graphics:

$ pwd
/media/work/iMX6/Yocto/sources/meta-fsl-arm/recipes-graphics

然后clone Package配置与source目录的repo:

git clone https://github.com/tonyho/helloYocto.git

查看软件包是否已经在Yocto中

09:25 hexiongjun:imx6qsabresd_build $ bitbake -s | grep hello
hello                                                   :3-r0

确认在了以后,就可以执行编译等task了,如果有需要也可以deploy到rootfs中,这些操作可以参考我以前的一些博客。

一个软件包的结构

使用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文件中指定了下面几个变量的值:

  1. SRC_URI
  2. LIC_FILES_CHKSUM:这个是checksum,如果是基于版本管理的source,那么不需要,例如git与svn
  3. FILES_$(PN):PN是Package number,指代软件版本使用的PV与PR结合表示,即前面bitbake -s中看到的3-r0

还有两个方法,这2个方法重载了bitbake中默认方法:

  1. do_compile
  2. do_install

这两个方法,对应了Package中的compile与install task。



Yocto tips (10): Yocto hellworld 添加一个软件包

原文:http://blog.csdn.net/sy373466062/article/details/50381067

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!