繁体   English   中英

Yocto:完全忽略 bbappend

[英]Yocto: completely ignore bbappend

我正在开发一个多平台项目,因此它是具有适当元层的不同板的混合。 我的元图像层包含一些特定于板的 bbappend 配方,尽管我想坚持使用单个图像层存储库而不是每个板都有图像层存储库。

那么有没有办法完全隐藏/忽略/禁用特定的 bbappend 文件?

示例:我有用于 var-som-* 板的 bblayers。 对于这样的板,我有recipes-kernel/linux-variscite_%.bbapend ,所以为 var-som-* 板构建是好的,但是当我为树莓构建时会出现问题。 拥有 variscite 层(以及所有飞思卡尔集)为图像添加了很多我不想要的东西,所以我正在删除 variscite 和飞思卡尔层,它创建了No recipes available for: recipes-kernel/linux-variscite_%.bbappend错误。

幸运的是,这个问题已经得到了回答: Yocto Dunfell 错误“No recipes available for”在单个自定义元层中的多台机器

所以对于那些在这里遇到同样问题的人来说,快速总结一下:

  1. 在您的图像元存储库中创建一个与 BBFILES 指令不匹配的文件夹结构。
  2. 将您的 .bbappend 食谱移到那里。
  3. 使用 BBFILES_DYNAMIC 指令在每个元层的基础上包含配方。

例子:

# thats default and commonly used way to import recipes from your image
BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \
            ${LAYERDIR}/recipes-*/*/*.bbappend"

# "hide" recipes "deeper" within folder structure 
# so they won't be included by ${LAYERDIR}/recipes-*/*/*.bbappend
# 
BBFILES_DYNAMIC += "\
    meta-atmel:${LAYERDIR}/dynamic-layers/meta-atmel/recipes-*/*/*.bbappend \
    meta-atmel:${LAYERDIR}/dynamic-layers/meta-atmel/recipes-*/*/*/*.bbappend \
"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM