2016-02-12 220 views
2

我们如何将一些额外的内核文件添加到sysroot目录?我想扩展do_populate_sysroot任务,我们怎么才能在do_populate_sysroot之后和do_package之前将更多的文件复制到sysroot中?我尝试在配方中创建do_populate_sysroot_append(),但它解析错误。我们如何在populate_sysroot之后和do_package任务开始之前在sysroot中添加文件?我们如何在两者之间创造新的任务?如何在yocto中创建do_populate_sysroot_append任务

回答

3

do_populate_sysroot是一个python函数,所以如果你在shell中附加它,那么分析错误是可以预料的。

如果您想放置更多文件,则可以追加sysroot_stage_all或编写一个函数,调用sysroot_stage_dir并将其添加到SYSROOT_PREPROCESS_FUNCS

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

1

根据@ ross-burton的回答,我搜索了追加到sysroot_stage_all的食谱,并找到了例如poky/meta/recipes-core/meta/signing-keys.bb

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

添加以下风格的东西为我完成任务。

sysroot_stage_all_append() {          
    sysroot_stage_dir ${D}${sysconfdir}/pki ${SYSROOT_DESTDIR}${sysconfdir}/pki 
}