如何编写yocto/bitbake配方以将目录复制到目标根文件系统

Ben*_*ner 10 directory copy recipe bitbake yocto

我有一个'二进制'(即不编译)文件的目录,只是希望它们安装到我的目标根文件系统上.

我看过几篇文章,其中没有一篇似乎对我有用.

此配方所需的功能是:

myRecipe/myFiles/ - > myRootFs/dir/to/install

我目前的尝试是:

SRC_URI += "file://myDir"

do_install() {
         install -d ${D}/path/to/dir/on/fs
         install -m ${WORKDIR}/myDir ${D}/path/to/dir/on/fs
}
Run Code Online (Sandbox Code Playgroud)

我不能总是抱怨Yocto文档,这真的很棒!只是找不到这样的例子!

joh*_*ieu 8

您只需将这些文件复制到目标rootfs中即可.如果没有安装在标准位置,请不要忘记将它们包装好.

SRC_URI += "file://myDir"

do_install() {
    install -d ${D}/path/to/dir/on/fs
    cp -r ${WORKDIR}/myDir ${D}/path/to/dir/on/fs
}
FILES_${PN} += "/path/to/dir/on/fs"
Run Code Online (Sandbox Code Playgroud)


urn*_*eld 5

请注意,通过简单的递归复制,您最终会收到主机污染警告,因此您需要使用以下参数进行复制:

do_install() {
     [...]
     cp --preserve=mode,timestamps -R ${S}${anydir}/Data/* ${D}${anyotherdir}/Data
     [...]
}
Run Code Online (Sandbox Code Playgroud)

就像 poky 中的其他食谱一样,或者只是遵循官方建议以避免所有权和权限问题。