【问题标题】:How can I add a folder or file to the root in a recipe with bitbake?如何使用 bitbake 将文件夹或文件添加到配方的根目录?
【发布时间】:2016-02-28 00:07:21
【问题描述】:

我正在尝试将文件夹放入文件系统的根目录。在文档(例如here)中,它们主要使用变量,因此来自SRC_URI 的文件和文件夹导致存储在/usr/bin 或其他东西下,但从不在/ 中。

这是我的食谱:

DESCRIPTION = "Example for adding files and folders to rootfs"

SRC_URI += "file://example_folder"
SRC_URI += "file://example_file"

LICENSE = [...]

do_install() {
    install -d ${D}/rootfolder
    cp -r ${WORKDIR}/example_folder ${D]/rootfolder/
    install -m 0755 ${WORKDIR}/example_file ${D}/rootfolder
}

这只是我尝试过的众多do_install 变体之一。它们中的每一个都导致Error: example not found in the base feeds [...] 或者文件和文件夹没有放在根目录中,而是放在/usr/bin 中,如上所述。

【问题讨论】:

  • 你的 conf/bblayers.conf 中是否包含了食谱层?您的错误似乎与您陈述的文件最终位于错误位置的其他问题无关。如果您想真正修改基本文件系统,我想我建议您在基本文件配方之上做一个 bbappend。
  • @Joe 如果我不这样做,我就不会在配方方面出错。除了do_install 任务有错误外,所有配置都正确。
  • 那会是哪个食谱?
  • “错误:在基本提要中找不到示例”通常与 bblayers.conf 相关,仅此而已。
  • A .bbappend 用于将文件添加到 rootfs 将不胜感激,但我该怎么做呢?

标签: embedded-linux yocto bitbake


【解决方案1】:

如果您收到错误“错误:在基本提要中找不到示例 [...]”,那么您很可能实际上已经成功构建了您的配方 example.bb。当然,假设您在构建包含IMAGE_INSTALL += "example" 的图像时遇到该错误。

如果您将文件安装到 /rootfolder,则 OE 本身不知道如何将这些文件打包到 rpmipkdeb 包中。您需要通过添加如下行将其添加到您的食谱中:
FILES_${PN} += "/rootfolder"

这样做,您上面的示例应该可以工作。

根据您安装的文件,您可能希望将其中一些添加到其他包中,例如 ${PN}-dbg${PN}-dev 等。

【讨论】:

  • 更新:只是在另一个地方试图重现的一个新错误。你的回答真的很有帮助。非常感谢。
猜你喜欢
  • 2017-04-04
  • 2019-05-13
  • 1970-01-01
  • 1970-01-01
  • 2018-10-24
  • 1970-01-01
  • 1970-01-01
  • 2022-10-03
  • 2014-04-30
相关资源
最近更新 更多