Raj*_*shi 4 linux recipe raspberry-pi bitbake yocto
我正在使用自定义配方在我的 rootfs 中安装软件包。我的食谱如下:
FILESEXTRAPATHS:prepend := "${THISDIR}/files:"
DESCRIPTION = "VPU libraries provided by fsl"
SUMMARY = "Copy mksd.sh script to image deployment area"
LICENSE = "CLOSED"
SRC_URI = " \
file://smf_vpn_config.ovpn \
file://ifplugd.action \
file://get_mac.sh \
file://gen_mac.sh \
file://IP_SETTINGS.sh \
file://network_config.sh \
file://update_network.sh \
file://check_lte_connection.sh \
file://check_vpn_connection.sh \
file://get_ip_address_of_interface.sh \
"
do_install() {
install -d ${D}/etc/openvpn_config/
install -m 755 ${WORKDIR}/smf_vpn_config.ovpn ${D}/etc/openvpn_config/
install -d ${D}/etc/ifplugd/
install -m 755 ${WORKDIR}/ifplugd.action ${D}/etc/ifplugd/
install -d ${D}/usr/bin/
install -m 755 ${WORKDIR}/get_mac.sh ${D}/usr/bin/
install -d ${D}/usr/bin/
install -m 755 ${WORKDIR}/gen_mac.sh ${D}/usr/bin/
# Install network configuration files
install -d ${D}$/opt/smf/config/net/
install -m 666 ${WORKDIR}/IP_SETTINGS.sh ${D}//opt/smf/config/net/
install -d ${D}/usr/bin/
install -m 755 ${WORKDIR}/network_config.sh ${D}/usr/bin/
install -d ${D}/usr/bin/
install -m 755 ${WORKDIR}/update_network.sh ${D}/usr/bin/
install -d ${D}/usr/bin/
install -m 755 ${WORKDIR}/check_lte_connection.sh ${D}/usr/bin/
install -d ${D}/usr/bin/
install -m 755 ${WORKDIR}/check_vpn_connection.sh ${D}/usr/bin/
install -d ${D}/usr/bin/
install -m 755 ${WORKDIR}/get_ip_address_of_interface.sh ${D}/usr/bin/
}
FILES_${PN} += " \
/etc/openvpn_config/smf_vpn_config.ovpn \
/etc/ifplugd/ifplugd.action \
/usr/bin/get_mac.sh \
/usr/bin/gen_mac.sh \
/opt/* \
"
Run Code Online (Sandbox Code Playgroud)
当我尝试构建这个食谱时,出现以下错误
ERROR: extra-files-1.0-r0 do_package: QA Issue: extra-files: Files/directories were
installed but not shipped in any package:
/opt
/opt/smf
/opt/smf/config
/opt/smf/config/net
/opt/smf/config/net/IP_SETTINGS.sh
Please set FILES such that these items are packaged. Alternatively if they are unneeded,
avoid installing them or delete them within do_install.
extra-files: 5 installed and not shipped files. [installed-vs-shipped]
ERROR: extra-files-1.0-r0 do_package: Fatal QA errors were found, failing task.
Run Code Online (Sandbox Code Playgroud)
查看其他论坛帖子,我确实观察到要指向当前目录,应该使用 meta/conf/bitbake.conf 中给出的变量。但没有提到 /opt 目录。
另外,我在 Kirkstone 分行,提前致谢
Raj*_*shi 11
我发现了导致错误的真正原因。在 yocto 的 Kirkstone 分支中,下划线已切换为冒号以进行覆盖。所以我改变FILES_${PN}了FILES:${PN}并且它起作用了。