River008

 

Yocto3.3杂记

常用命令

#生成包的环境变量

bitbake PKG -e >PKG.env  

#只运行install任务,do_patch do_compile 类似

bitbake PKG -C do_install

#清理包已备重编,cleanall更彻底

bitbake PKG -c cleansstate

bitbake PKG -c cleanall  

常用变量

所有这些变量可以用bitbake PKG -e查询

SRC_URI:变量向源文件,如补丁和其他菜单需要的文件

PN:菜谱名称,包名

PV:菜谱版本号,包版本号

BPN:PN-PV

WORKDIR: 具体编译包的工作目录,如tmp-glibc/work/core2-64-wrs-linux/perl/5.32.1-r0/ 所有编译过程中bbappend中追加的patch和其他文件等等都位于此处

FILESEXTRAPATHS:文件额外路径,常用在bbappend中用于指定本地文件如补丁等等的路径,如FILESEXTRAPATHS_prepend := "${THISDIR}/files:"

THISDIR:菜单所在路径

D:D是do_install task部署路径,也位于build目录下,默认值是{WORKDIR}/image

S:S是build目录下源码解压出来的路径

如何编译rt实时内核

local.conf中加入如下可以编译出rt内核,因为Yocto3.3自带的layer中已经有linux-yocto-rt内核的bb菜单

PREFERRED_PROVIDER_virtual/kernel = "linux-yocto-rt"

常用修饰

prepend

append: IMAGE_INSTALL_append = " tcpdump" 文件系统中增加tcpdump包

prefuncs: 例如do_patch[prefuncs] += "replace_kernel_with510"  do_patch任务前执行自定义函数replace_kernel_with510

postfuncs:例如do_patch[postfuncs] += "rename_kernel_config"  do_patch任务之后执行自定义函数rename_kernel_config

调试定位

每个软件包的构建都有对应任务的日志和对应过程命令,存放在temp目录

如:

tmp-glibc/work/core2-64-wrs-linux/perl/5.32.1-r0/temp/run.do_patch

tmp-glibc/work/core2-64-wrs-linux/perl/5.32.1-r0/temp/log.do_patch

 

posted on 2022-09-08 16:55  River008  阅读(278)  评论(0编辑  收藏  举报

导航