我们如何在sysroot目录中添加一些额外的内核文件?我想扩展do_populate_sysroot
任务,如何在do_populate_sysroot
之后和do_package
之前将更多文件复制到sysroot中?我尝试在配方中创建do_populate_sysroot_append()
,但它正在解析错误。我们如何在populate_sysroot
之后和do_package
任务开始之前在sysroot中添加文件?我们如何在两者之间创建新任务?
答案 0 :(得分:4)
do_populate_sysroot
是一个python函数,所以如果你用shell附加它,那么就会出现解析错误。
如果您想播放更多文件,则可以附加sysroot_stage_all
或编写一个调用sysroot_stage_dir
的函数并将其添加到SYSROOT_PREPROCESS_FUNCS
。
oe-core中有这两种方法的例子。
答案 1 :(得分:2)
根据@ 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
}
答案 2 :(得分:1)
在您的内核配方中修改“ SYSROOT_DIRS”变量将很容易,
_chronology
进行上述更改后,“ var”目录也将被复制到sysroot。
https://www.yoctoproject.org/docs/latest/ref-manual/ref-manual.html#var-SYSROOT_DIRS