如何在BitBake配方中递归安装目录和文件

vij*_*alu 5 shell recipe bitbake yocto

我想将所有目录和文件从工作目录递归安装/复制到yocto构建系统上的目标软件包rootfs。我尝试了Tobias Bystricky提供的解决方案

如何在OpenEmbedded BitBake配方中递归安装目录结构?

但我遇到“没有这样的文件或目录”错误

我做到了

install -d ${D}${sysconfdir}/xxx/
install -d ${D}${sysconfdir}/xxx/yyy
install -d ${D}${sysconfdir}/xxx/yyy/zzz
install -d ${D}${sysconfdir}/xxx/yyy/zzz/kkk
find ${WORKDIR}/xxx/yyy/zzz/kkk/ -type f -exec 'install -m 0755 "{}" ${D}${sysconfdir}/xxx/yyy/zzz/kkk/' \; 
Run Code Online (Sandbox Code Playgroud)

错误消息是,

找到:`install -m 0755 /“工作目录路径” /xxx/yyy/zzz/kkk/test_file.txt /“所有软件包的路径” /“ MyPackage” / image / etc / xxx / yyy / zzz / kkk / ': 无此文件或目录

我检查并确认存在确切的工作目录路径和包目录路径。请让我知道我是否想念任何东西。

请提出其他建议。

Let*_*2nd 6

cp -r
Run Code Online (Sandbox Code Playgroud)

已知会泄漏用户信息。在OE仓库中,规范形式为

cp -R --no-dereference --preserve=mode,links -v SOURCE DESTINATION
Run Code Online (Sandbox Code Playgroud)

另请参见相应的OE补丁


vij*_*alu 3

我也尝试如下,但没有成功。

install -m 0755 ${WORKDIR}/xxx/yyy/zzz/kkk/* ${D}${sysconfdir}/xxx/yyy/zzz/kkk
Run Code Online (Sandbox Code Playgroud)

只是在 do_install() 中尝试了简单的 cp -r ,它有效

cp -r ${WORKDIR}/xxx/yyy/zzz ${D}${sysconfdir}/xxx/yyy
Run Code Online (Sandbox Code Playgroud)