如何在bitbake的配方中将文件夹或文件添加到根目录?

时间:2015-11-25 09:13:42

标签: embedded-linux yocto bitbake

我正在尝试将文件夹放入文件系统的根目录中。在文档中(例如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 [...]或者文件和文件夹没有放在根目录中但是放在{{1如上所述。

1 个答案:

答案 0 :(得分:10)

在这些情况下,您收到了错误"错误:示例未在基本订阅源中找到[...]"你很可能已经成功地建立了你的食谱example.bb。当然,假设在构建图像时出现错误,其中包含IMAGE_INSTALL += "example"

如果您将文件安装到/rootfolder,那么OE本身就无法知道如何将这些文件打包成rpmipk或{{1}包。您需要通过添加如下行来将自己添加到您的食谱中: deb

这样做,上面的例子应该有效。

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