yocto 创建层并添加自己的程序包

1 首先是设置环境

#source oe-init-build-env

2 创建层

#bitbake-layers create-layer ../meta-mylayer

这时可以看到系统会创建一个文件夹meta-mylaer,文件目录结构如下

 

yocto 创建层并添加自己的程序包_第1张图片

 

3 添加层

#bitbake-layers add-layer ../meta-mylayer

 

4 添加程序包

在层my-mylayer, 配方recipes-example下新建文件夹hello

#mkdir hello

#cd hello

#mkdir hello

#vim hello.bb

hello.bb内容

 

DESCRIPTION = "Hello World"

SECTION = "libs"

LICENSE = "MIT"

PV = "3"

PR = "r0"

 

SRC_URI = " \

file://hello.c \

file://Makefile \

"

 

LIC_FILES_CHKSUM = "file://hello.c;md5=9a54a2b4f41e70b2f55a6edce51d9a2f"

S = "${WORKDIR}"

do_compile () {

make

}

 

do_install () {

install -d ${D}${bindir}/

install -m 0755 ${S}/hello ${D}${bindir}/

}

 

FILES_${PN} = "${bindir}/hello"

TARGET_CC_ARCH += "${LDFLAGS}"

 

进入hello文件夹,并添加程序hello.c 和Makefile

目录如下

 yocto 创建层并添加自己的程序包_第2张图片

5 查看程序是否添加成功

#bitbake -s|grep hello

 

6 编译

#bitbake hello

 

7 将程序添加到镜像中

首先确定编译的镜像名,例如这里使用bitbake core-image-minimal

 

那么查找core-image-minimal的bb文件位置

#find ./ -name "*core-image-minimal*"

编辑该文件,在IMAGE_INSTALL 后面添加程序hello

yocto 创建层并添加自己的程序包_第3张图片

8 重新编译镜像bitbake core-image-minimal ,烧录到板子上就集成了程序hello了

 

你可能感兴趣的:(linux开发)