【问题标题】:Bitbake: How to list all recipe and append files used in an image?Bitbake:如何列出图像中使用的所有配方和附加文件?
【发布时间】:2023-03-28 07:13:02
【问题描述】:

我正在使用 OpenEmbedded-Core 并创建了一个优先级为 6 的自定义层。几个月的开发已经过去,现在我想将层的优先级提高到 8,因为来自另一个优先级为 7 的层的附加文件正在干扰我在图层中添加了一个附加文件。

我的问题是,如何生成图像中使用的食谱和 .bbappend 文件的列表?

我想在更改优先级之前和之后生成列表,以便我可以比较它们(希望使用 difftool)以查看是否发生了任何意外的副作用,例如来自另一层的重要附加文件可能会被忽略。

我正在使用 Angstrom 发行版的 angstrom-v2014.12-yocto1.7 分支。

[编辑]

我现在主要只是对确定如何列出我的图像实际使用的 .bbappend 文件感兴趣。

可以使用@pnxs 建议的“bitbake -g your-image-name”或从.manifest 文件(我喜欢使用)查看包列表,在我的情况下,该文件位于部署下/glibc/图像/图像名称/。我最初询问如何生成“配方文件”列表,但我认为包列表就足够了。

不过,关于 .bbappend,我有一个案例,我自己的 .bbappend 由于层优先级而被忽略。我对图层优先级进行了更改,现在想看看这是否会导致图像中其他任何位置的任何 .bbappend 文件被忽略。据我了解,使用“bitbake-layers show-appends”作为建议列表 all .bbappends 而不仅仅是那些实际用于创建图像的列表,所以这不会做什么我在找。

【问题讨论】:

  • 我也有同样的问题。很高兴知道在特定图像中实际使用了哪些食谱以及它们来自哪里(INSTALL_APPEND 在哪个文件中?)

标签: yocto recipe bitbake openembedded


【解决方案1】:

尝试使用“bitbake-layers show-appends”查看使用了哪些 bbappends。但这只会在每个食谱的基础上起作用。但这可能会为您提供了解优先级所需的信息。

【讨论】:

  • 有帮助,但据我了解,这显示了所有可用的 bbappend,而不仅仅是我的图像中实际使用的那些,对吧?我还查看了图像的清单文件,它告诉我使用的每个包的确切版本,但不幸的是,它没有让我知道每个包应用了哪些 bbappends。
【解决方案2】:

您可以执行“bitbake -g your-image-name”,在当前目录中创建一些点文件。

文件“pn-depends.dot”包含一个包名(pn)列表以及它们之间的依赖关系。

当您查看列出所有包的文件的第一部分时,您会看到例如:

"busybox" [label="busybox :1.23.1-r0.2\n/home/user/yocto/sources/poky/meta/recipes-core/busybox/busybox_1.23.1.bb"] "base-files" [label="base-files :3.0.14-r89\n/home/user/yocto/sources/poky/meta/recipes-core/base-files/base-files_3.0.14.bb"]

所以你得到了你的图像使用的所有包的列表和相应的配方文件。

要查看 bbappend 扩展了哪些记录,您必须使用“bitbake-layers show-appends”获取 bbappend 列表并查找每个配方的附加内容。你可以编写一个小python程序来为你做这件事。

【讨论】:

  • .dot 文件是一个有用的建议,但我仍然需要能够以某种方式解决在我的图像中使用哪些 .bbappend 文件与未使用哪些文件。查看我最近的编辑。
【解决方案3】:

试试下面的命令

bitbake -g image-name && cat pn-depends.dot | grep -v -e '-native' | grep -v digraph | grep -v -e '-image' | awk '{print $1}' | sort | uniq

【讨论】:

    【解决方案4】:

    尝试以下方法:

    显示所有食谱

    bitbake-layers show-recipes
    

    显示配方的 .bb 文件

    RECIPE_NAME="linux-yocto"
    bitbake -e  $RECIPE_NAME | grep ^FILE=
    

    【讨论】:

      猜你喜欢
      • 2021-06-16
      • 2015-08-21
      • 2019-05-19
      • 1970-01-01
      • 2016-07-18
      • 2019-09-30
      • 2016-02-28
      • 2017-10-15
      • 1970-01-01
      相关资源
      最近更新 更多