如何在yocto中创建do_populate_sysroot_append任务

如何在yocto中创建do_populate_sysroot_append任务,yocto,openembedded,Yocto,Openembedded,我们如何向sysroot目录添加一些额外的内核文件?我想扩展do_populate_sysroot任务,在do_populate_sysroot之后和do_package之前,如何将更多的文件复制到sysroot中?我试图在配方中创建do\u populate\u sysroot\u append(),但它遇到了解析错误。在populate\u sysroot之后和do\u package任务开始之前,我们如何在sysroot中添加文件?我们如何在这两者之间创建新任务?do\u populate

我们如何向sysroot目录添加一些额外的内核文件?我想扩展
do_populate_sysroot
任务,在
do_populate_sysroot
之后和
do_package
之前,如何将更多的文件复制到sysroot中?我试图在配方中创建
do\u populate\u sysroot\u append()
,但它遇到了解析错误。在
populate\u sysroot
之后和
do\u package
任务开始之前,我们如何在sysroot中添加文件?我们如何在这两者之间创建新任务?

do\u populate\u sysroot
是一个python函数,因此如果使用shell附加它,则可能会出现解析错误

如果要暂存更多文件,可以附加
sysroot\u stage\u all
或编写一个调用
sysroot\u stage\u dir
的函数,并将其添加到
sysroot\u PREPROCESS\u FUNCS


oe core中有这两种方法的例子。

根据@ross burton的回答,我搜索了附加到
sysroot\u stage\u all
的配方,并找到了例如
poky/meta/recipes core/meta/signing keys.bb

无论如何,如果您有一个包将文件打包到sys root目录中的非标准目录中,并且一个依赖的包需要访问这些文件,那么这将非常有用

添加下面的样式可以完成我的任务

sysroot_stage_all_append () {                                     
    sysroot_stage_dir ${D}${sysconfdir}/pki ${SYSROOT_DESTDIR}${sysconfdir}/pki
}   
修改内核配方中的“SYSROOT\u DIRS”变量将是一个简单的解决方案

SYSROOT_DIRS += "${localstatedir}"
通过上述更改,“var”目录也将复制到sysroot