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

时间:2016-10-11 14:51:30

标签: shell yocto bitbake recipe

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

How to install directory structure recursively in OpenEmbedded BitBake recipe?

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

我做了,

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/' \; 

错误信息是,

  

查找:`install -m 0755 /“工作路径   dir“/xxx/yyy/zzz/kkk/test_file.txt /”所有人的路径   包“/”MyPackage“/ image / etc / xxx / yyy / zzz / kkk /':没有这样的文件或   目录

我检查了&确认确切的工作目录路径&包目录路径存在。如果我错过了,请告诉我。

请以其他方式建议。

2 个答案:

答案 0 :(得分:3)

cp -r
众所周知,

会泄露用户信息。在OE回购中,规范形式是

cp -R --no-dereference --preserve=mode,links -v SOURCE DESTINATION

另见corresponding OE patch

答案 1 :(得分:2)

我也尝试如下,没有用。

install -m 0755 ${WORKDIR}/xxx/yyy/zzz/kkk/* ${D}${sysconfdir}/xxx/yyy/zzz/kkk

和 刚刚在do_install()中试过简单的cp -r,它可以正常工作

cp -r ${WORKDIR}/xxx/yyy/zzz ${D}${sysconfdir}/xxx/yyy