【问题标题】:Yocto - How do I add a layer to my image using bbapend?Yocto - 如何使用 bbappend 向我的图像添加图层?
【发布时间】:2020-09-17 11:34:35
【问题描述】:

我是 Yocto 的初学者,我在构建文件夹中使用

bitbake-layer create-layer meta-helloworld

在我的 Helloworld 文件夹中,我有一个配方 (.bb) 文件和一个 helloworld 程序的 C 源代码。 成功地对我的图层进行 bitbaking 后,我通过编辑 local.conf 添加以下行将其添加到图像中:

IMAGE_INSTALL_append = " helloworld"

这在板上非常有效。 (我能够从董事会的终端运行 helloworld 程序)

但是,正如 challinan 在this question 中的回答所指出的那样,这不是最佳做法,我应该通过在我的层中添加一个 bbappend 文件来做到这一点,并根据同一问题中的答案,添加依赖项在这个文件中。然而,我不知道这些依赖项是什么,也不知道我应该如何编写它们。我查看了元数据,发现了一些 bbappend 文件,但它们都没有提供任何非常有见地的东西。

如何使用 bbapend 文件向图像添加自定义层?

更多信息:我正在 iMX6 板上开发,使用 NXP 源代码,但带有自定义内核。我正在使用 devtool 更改内核,但我的自定义层配方位于 devtool(工作区)文件夹之外。

【问题讨论】:

    标签: yocto bitbake


    【解决方案1】:

    转到您的 image.bb 所在的图像目录。例如

    recipe-images/core-image-minimal.bbb
    
    $ cd recipe-images
    $ nano core-image-minimal.bbappend
    

    将以下行添加到空的新文件中

     IMAGE_INSTALL += " helloworld"
    

    【讨论】:

    • 我已经接受了这个答案,但现在我意识到它实际上不起作用。就像你说的那样,我已经添加了 bbappend 文件,但是当图像启动时,我可以看到我的层/食谱尚未安装。
    • 好的,然后尝试 IMAGE_INSTALL_append = ” helloworld ” 而不是 IMAGE_INSTALL
    • 您是否正在创建正在使用的图像的 bbappend 文件?它应该可以工作。
    • 我发现了错误。我在 poky 中的 layers.conf 不是在寻找 bbappend 文件。现在它正在工作。
    【解决方案2】:

    首先要知道的是您正在使用 bbappend 添加图层,bbappend 用于扩展/修改现有配方。

    创建自定义层并将其添加到 yocto 环境的步骤:

    $ bitbake-layer create-layer meta-helloworld
    

    添加图层有两种方式-

    1. 在 bblayer.conf 文件中手动添加层名和路径

    2. 通过使用 bitbake 命令

      $ bitbake-layer add-layer meta-helloworld

    你可以在这里得到更好的主意 Add my own custom layer and create my own image in yocto

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-01-19
      • 1970-01-01
      • 2020-06-22
      • 2022-10-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多