Yocto 安装多个文件夹

Yocto 安装多个文件夹,yocto,Yocto,我对整个Yocto项目相对来说是新手 基本上,我想向图像中添加多个文件夹: do_install() { install -d ${D}/etc/wpa_supplicant install -m 0777 wpa_supplicant-wired-eth0.conf ${D}/etc/wpa_supplicant install -d ${D}/mydata install -d ${D}/mydata/certs } wpa_-supplicant需要/e

我对整个Yocto项目相对来说是新手

基本上,我想向图像中添加多个文件夹:

do_install() {

    install -d ${D}/etc/wpa_supplicant
    install -m 0777 wpa_supplicant-wired-eth0.conf ${D}/etc/wpa_supplicant
    install -d ${D}/mydata
    install -d ${D}/mydata/certs
}
wpa_-supplicant需要/etc/wpa_-supplicant中的conf文件。因此,我安装了这个文件夹并将我的自定义conf文件复制到那里

这个很好用

同时,我想在/mydata/certs下安装一个证书文件夹,以便稍后上传wpa_请求者的证书

但当我这么做的时候,Yocto告诉我旧的安装和发货错误

mywpa-1.0-r0 do_package: QA Issue: mywpa: Files/directories were installed but not shipped in any package:
  /mydata
  /mydata/certs
Please set FILES such that these items are packaged. Alternatively if they are unneeded, avoid installing them or delete them within do_install.
mywpa: 2 installed and not shipped files. [installed-vs-shipped]
ERROR: mywpa-1.0-r0 do_package: Fatal QA errors found, failing task.
ERROR: mywpa-1.0-r0 do_package: Function failed: do_package
ERROR: Logfile of failure stored in: /home/yocto/yocto/build/tmp/work/cortexa7hf-neon-vfpv4-phytec-linux-gnueabi/mywpa/1.0-r0/temp/log.do_package.31833
ERROR: Task (/home/yocto/yocto/sources/poky/../meta-mydata/meta-mywpa/recipes-mywpa/mywpa/mywpa.bb:do_package) failed with exit code '1'
以前我只是工作,我有一个文件夹,每个食谱,只是添加

FILES_${PN} += "${sysconfdir}/etc"

所以我的问题基本上是:如何在两个不同的目录中安装两个文件夹?或者在一个配方中是不可能的,我必须使用两个配方?

只要在解析时是静态的,
文件{PN}+=
表达式几乎可以是任意复杂的。因此,您应该能够根据需要对其进行扩展:

FILES_${PN} += " \
  ${sysconfdir}/etc/wpa_supplicant \
  /mydata \
"

如果这种方法有任何问题,请更新问题,然后我可以研究它。

文件{PN}+=“${sysconfdir}/etc/mydata”有什么问题?(不完全确定mydata是否需要前导斜杠,但您可以计算出来:P)哇,这似乎奏效了。真的这么简单吗D我唯一的问题是,这次bitbake过程似乎花费了更长的时间。我实际上怀疑这是否会触发更长的
bitbake
执行时间,至少不是直接的,因为“FILES”{PN}我们有很多情况下该变量非常复杂,这是一个非常常见的用例(附录:如果你对答案满意,请接受它,这样其他人也可以利用它。谢谢!)