2016-02-12 221 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 
}