Yocto 在内核模块配方中提供额外文件

Yocto 在内核模块配方中提供额外文件,yocto,bitbake,openembedded,Yocto,Bitbake,Openembedded,在构建树外内核模块时,有没有办法发送更多文件 我试过这样的方法: FILES_${PN} += "${bindir}/my_program" do_install_append() { install -d ${D}${bindir} install -m 0755 ${D}/my_program ${D}${bindir}/my_program } FILES_kernel-module-${PN} += "${bindir}/my_program" do_install_a

在构建树外内核模块时,有没有办法发送更多文件

我试过这样的方法:

FILES_${PN} += "${bindir}/my_program"
do_install_append() {
    install -d ${D}${bindir}
    install -m 0755 ${D}/my_program ${D}${bindir}/my_program
}
FILES_kernel-module-${PN} += "${bindir}/my_program"
do_install_append() {
    install -d ${D}${bindir}
    install -m 0755 ${D}/my_program ${D}${bindir}/my_program
}
就像这样:

FILES_${PN} += "${bindir}/my_program"
do_install_append() {
    install -d ${D}${bindir}
    install -m 0755 ${D}/my_program ${D}${bindir}/my_program
}
FILES_kernel-module-${PN} += "${bindir}/my_program"
do_install_append() {
    install -d ${D}${bindir}
    install -m 0755 ${D}/my_program ${D}${bindir}/my_program
}
但仍然抱怨:

ERROR: QA Issue: my-module: Files/directories were installed but not shipped in any package:
  /usr
  /usr/bin
  /usr/bin/my_program
Please set FILES such that these items are packaged. Alternatively if they are unneeded, avoid installing them or delete them within do_install.
my-module: 3 installed and not shipped files. [installed-vs-shipped]

文件${PN}不能用于内核配方,因为对于内核,至少在默认情况下,${PN}不会出现在包中。“内核模块-${PN}”也无效。我猜您会希望将该文件添加到内核基本包中,如下所示:


FILES\u kernel-base+=“${bindir}/my\u program”

这是非常常见的情况-您已经安装了额外的二进制文件,但尚未将其添加到输出包中(已安装但未发货)

解决方案应基于需要添加到输出图像的文件类型

检查此线程:

另外,如果您需要快速验证文件是否正确生成等,您可以在build/local.conf中添加这一行(因为您已经安装了它们):

IMAGE_INSTALL+=“{binary_name}”

编辑:

除了OP的以下评论: 很抱歉我的误解,看起来您需要继承配方中的module.bbclass,请查看文档:并让我知道这是否适合您。
您还可以查看这个简单的教程:

我不相信module.bbclass会从包中删除${PN},但它会清除文件${PN}。因此,如果您想向包中添加任何文件,必须在继承模块之后设置文件。

感谢链接,但该解决方案不适用于内核模块(当您将
包含模块
添加到配方中时)。这个解决方案基本上就是我一直想做的。我想在这一点上,我们需要看看你的整个配方,然后才能进一步帮助你。