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 需要 /etc/wpa_supplicant 中的 conf 文件。所以我安装文件夹并在那里复制我的自定义 conf 文件。
这很好用
同时,我想在 /mydata/certs 下安装一个证书文件夹,稍后我可以在其中为 wpa_supplicant 上传我的证书。
但是当我这样做时,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"
所以我的问题基本上是:如何在两个不同的目录中安装两个文件夹?或者在一个食谱中是不可能的,我必须使用两个食谱?
解决方案
表达式几乎可以是任意复杂的FILES_${PN} +=
,只要它在解析时是静态的。所以你应该能够根据需要扩展它:
FILES_${PN} += " \
${sysconfdir}/etc/wpa_supplicant \
/mydata \
"
如果这种方法有任何问题,请更新问题,然后我可以调查一下。
推荐阅读
- java - 无法创建 PoolableConnectionFactory 客户端不支持身份验证
- python - 如何从python中的JSON对象获取数据数组?
- installation - 在 Windows 10 上安装 JDK 10 - 可以吗?
- asynchronous - 如何开玩笑地超时承诺?
- c# - 通过自己的库公开第三方库?
- php - WordPress Loop 中的 the_post_thumbnail 不起作用
- php - 使用 PHP 更正短语的间距
- xamarin - 无法在 Xamarin iOS 应用程序中将文本共享到电子邮件或短信中
- javascript - 基于计数器出现的对象
- react-native - 在 React Native 应用程序中显示数据库数据时遇到问题