技术分享 其他 查看内容

yocto FILES_${PN}

老高 | 发布于 2023-08-30 22:41| 浏览()| 评论() | 收藏() | 点赞() | 打印

摘要: ERROR: zm-bsp-0.1-r0 do_package: QA Issue: zm-bsp: Files/directories were installed but not shipped in any package:

最近在使用yocto添加自己的编译代码时,遇到了一个问题。报错如下:

ERROR: zm-bsp-0.1-r0 do_package: QA Issue: zm-bsp: Files/directories were installed but not shipped in any package:

网上查了很多信息,都没有解决我的问题,后面找到了一篇博客(源地址忘了),里面淡淡的提了一下FILES_${PN}似乎和安装位置有关,后续的安装路径似乎是从FILES_${PN}里面选择的。如果FILES_${PN}里面没有对应的安装路径,就会报这个错。

所以我就添加了如下代码:

FILES_${PN} += "${base_sbindir} ${sysconfdir} ${base_libdir}"

至此,完整解决了我的问题。


我的完整bb内容如下:


LICENSE          = "CLOSED"
PR = "r0"
 
FILESEXTRAPATHS_prepend := "${THISDIR}:"
 
SRC_URI = "file://script"
 
S = "${WORKDIR}/script"
 
FILES_${PN} += "${base_sbindir} ${sysconfdir} ${base_libdir}"

do_install () {
    install -d ${D}/${base_sbindir}
    install -d ${D}/${base_libdir}/systemd/system/
    install -d ${D}/${sysconfdir}/systemd/system/multi-user.target.wants/
    install -m 0644 vlan.service  ${D}/${base_libdir}/systemd/system/
    install -m 0755 vlan.sh  ${D}/${base_sbindir}
    ln -s /lib/systemd/system/vlan.service ${D}/${sysconfdir}/systemd/system/multi-user.target.wants/vlan.service
}

sysconfdir:对应嵌入式/etc目录

base_sbindir:对应嵌入式/sbin目录

base_libdir:对应嵌入式/lib目录

sbindir:对应嵌入式/usr/sbin目录

libdir:对应嵌入式/usr/lib目录

注:上面的目录在我这里可能是这样的对应方式,具体实际的对应方式,需要自己去验证。查看模块编译完成后的image目录就能得到对应关系。


发表评论(对文章涉及的知识点还有疑问,可以在这里留言,老高看到后会及时回复的。)

表情