【问题标题】:WARNING: No bb files matched BBFILE_PATTERN_core警告:没有 bb 文件匹配 BBFILE_PATTERN_core
【发布时间】:2017-10-28 03:47:38
【问题描述】:

我正在使用 yocto,我有一个飞思卡尔 yocto 图像,它是由飞思卡尔提供的,带有 fido poky 及其所有 bsp 元层。现在我想把它升级到 krogoth。

当我用 krogoth poky 替换 fido poky 时。它给出了以下错误。即使我在 bblayers.conf 文件中提供了所有必要的元层

 WARNING: No bb files matched BBFILE_PATTERN_core '^/home/a/bsp12/poky/meta/'

 WARNING: No bb files matched BBFILE_PATTERN_yocto '^/home/a/bsp12/poky/meta-poky/'

 WARNING: No bb files matched BBFILE_PATTERN_yoctobsp '^/home/a/bsp12/poky/meta-yocto-bsp/'

 WARNING: No bb files matched BBFILE_PATTERN_fsl-arm '^/home/a/bsp12/meta-fsl-arm/'

 WARNING: No bb files matched BBFILE_PATTERN_fsl-networking '^/home/a/bsp12/meta-fsl-networking/'

 ERROR: Nothing PROVIDES 'fsl-image-core'

【问题讨论】:

    标签: yocto


    【解决方案1】:

    错误是这个ERROR: Nothing PROVIDES 'fsl-image-core'。当你替换文件时,你错过了这个食谱。不是BBFILE_PATTERN;尽管这告诉您没有完全替换文件。

    此外,BBFILE_PATTERN 的使用可以在所有元数据层配置中找到; 例如:bsp/sources/poky/meta-yocto/conf/layer.conf

    # We have a conf and classes directory, add to BBPATH
    BBPATH =. "${LAYERDIR}:"
    
    # We have recipes-* directories, add to BBFILES
    BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \
                ${LAYERDIR}/recipes-*/*/*.bbappend"
    
    BBFILE_COLLECTIONS += "yocto"
    BBFILE_PATTERN_yocto = "^${LAYERDIR}/"
    BBFILE_PRIORITY_yocto = "5"
    
    # This should only be incremented on significant changes that will
    # cause compatibility issues with other layers
    LAYERVERSION_yocto = "2"
    
    LAYERDEPENDS_yocto = "core"
    

    BitBake 做的第一件事是解析基本配置元数据。 基本配置元数据由 bblayers.conf 文件组成 确定 BitBake 需要识别哪些层,所有必要的 layer.conf 文件(每层一个)和 bitbake.conf。数据 本身是各种类型的;

    layer.conf 文件用于构造关键变量,例如 BBPATH 和 BBFILES。 BBPATH 用于搜索配置和 class 文件分别在 conf/ 和 class/ 目录下。 BB文件 用于查找配方文件(.bb 和 .bbappend)。如果没有 bblayers.conf 文件,假设用户已经设置了 BBPATH 和 BBFILES 直接在环境中。

    http://www.yoctoproject.org/docs/1.6/bitbake-user-manual/bitbake-user-manual.html#parsing-the-base-configuration-metadata

    【讨论】:

    • 感谢您的回复,查尔斯,我也包括了所有必要的食谱,我看到的一个观察结果是,我故意包括元英特尔并给了 MACHINE ??=“mohonpeak64”,它正在接受当时的配方,但是当我给 MACHINE ??= 's32v234evb' 时,它无法找到配方,即使这个 s32v234evb.conf 文件存在于我已经包含在 bblayers.conf 中的 meta-fsl-s32v 中
    • 这真的很难调试,因为你有多个来自不同来源的食谱,但你没有列出;除此之外,您的元数据不会在开放式嵌入式上公开获得;我的建议是使用“bitbake -c cleansstate”清理构建或删除整个 tmp 目录;
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-05-21
    • 2020-08-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-17
    • 2021-11-26
    相关资源
    最近更新 更多