yocto 中的机器特定层

2024-03-03

我想为一台新机器(称之为 A)添加一些从上游获取的层,主要是为了使用这些层提供的机器 A 配置文件、内核和 u-boot。然而,新层有几个 bbappend 文件(还有 bb 文件),其版本与我的 yocto 项目中其他机器的层不同。

例如,机器A有它自己的gstreamer1.0_1.8.1.bb和 bbappend 文件。其他机器正在使用gstreamer1.0_1.6.1.bb。当我为另一台机器构建镜像时,它会构建版本 1.8.1,因为 Yocto 将始终寻找最新的兼容版本的包并构建它。但是,gstreamer1.0_1.8.1.bbappend文件是专门为A机器编写的,不适用于其他机器并导致错误。不仅仅是 gstreamer,还有更多。

我有一个想法BBLAYERS_A += "new_layers \ ..."在 bblayers.conf 文件中,但不幸的是它没有按照我想要的方式工作。

我的另一个想法是这样的:

BBMASK_B = "new_layers \ ..."
BBMASK_C = "new_layers \ ..."
BBMASK_D = "new_layers \ ..."
BBMASK_E = "new_layers \ ..."
BBMASK_F = "new_layers \ ..."
BBMASK_G = "new_layers \ ..."
BBMASK_H = "new_layers \ ..."
BBMASK_I = "new_layers \ ..."
...

它对我来说看起来不太好,而且我怀疑它也不会起作用。我认为构建过程是首先加载 bblayers.conf 文件,然后加载 local.conf。因此,在知道要构建什么机器之前,需要先部署各层。

我的问题是我怎样才能使那些新添加的层与机器A仅,但不会被使用其他机器.


您应该尝试使 BSP 层仅在使用该层中的任何机器时才产生任何影响。

在你的例子中,gstreamer1.0_1.8.1.bb,你应该添加

COMPATIBLE_MACHINE = "^machinea$"

请注意,这是一个正则表达式,因此省略前导^和结束$,您可能会错误地匹配类似命名的机器。

另请注意,我更改了您的机器名称示例A to machinea,因为机器需要是小写字母。

如果您要添加.bbappend文件,您通常让它们修改构建,例如。

SOME_VAR_machinea

如果您要覆盖文件,通常会将它们放入如下结构中:

recipes-support/myrecipe/myrecipe/machinea/some-file

在这种情况下,请注意额外的子目录machinea,这将确保some-file仅用于该特定机器。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

yocto 中的机器特定层 的相关文章

  • 来自多个数据库的 Hibernate 实体

    我们的数据模型分为两个数据库上的模式 除了一些在两者之间桥接的单键关系之外 这些模式是单独使用的 没有跨两个数据库的写入事务 类似这个问题使用 Hibernate 连接不同数据库中的 2 个表 https stackoverflow com

随机推荐

  • 为什么覆盖会改变列名

    我使用的是 rev 监听器的默认实现 正如预期的那样 我的 REVINFO 表中的列是 revtstmp 和 rev 然而 当我覆盖默认值时 我所做的只是 MyRevisionEntity extends DefaultRevisionEn
  • 是否有在多个事件侦听器上执行逻辑的设计模式

    我有在多个不同事件的步骤上执行的逻辑 例如 在 mousedown 上完成一些逻辑 这会更改 mousemove 使用的某些共享状态 这也会更改最终 mouseup 使用的某些共享状态 例如它可能看起来像这样 function handle
  • 检测用户何时将数据输入 edittext 立即显示答案[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 如何检测一个字符是否被输入到 Edi
  • 使用 array_diff 比较两个数组

    我有以下代码 并尝试将两个数组与 array diff 进行比较 但我一直没有得到任何结果 我不确定这是否重要 但数组中有很多字段 我真的只想比较 1 个字段 这可能吗 我缺少什么
  • 如何在点击后隐藏横幅并使用本地存储保存?

    我是 Java 脚本新手 在用户单击 Cookie 横幅上的 接受 后 我不知道如何保存信息 本地存储 一旦他单击 接受 Cookie 横幅就会消失 我想保存因此 当他进入下一页或重新加载页面时 他不会再次收到 Cookie Banner
  • Bash - HTML 内容的正则表达式

    我正在学习 Bash 脚本 并且需要一些帮助来理解正则表达式 我有一个基本上是网页 html 的变量 使用 wget 导出 currentURL https www example com currentPage wget q O curr
  • 嵌套 TextBlock 和超链接,如何在 C# 中复制此 XAML?

    我有这个 XAML
  • 创建自定义 Object3D 类

    我是来自 AS3 Away3D 背景的 THREE js 新手 我正在尝试创建一个扩展 THREE Object3D 的自定义对象类以添加到我的场景中 CustomObject会封装很多行为属性和方法 理想情况下 我想传递每个 Custom
  • Android 下载管理器所有下载完成后如何通知

    我正在使用 Android 下载管理器类 所有下载完成后我需要写 下载完成 我尝试过一些东西并且它有效 但在这里 它是在逐个文件完成后写入的 我只需要写一次 全部完成后 我也尝试过没有光标 但我没能实现 public class Downl
  • XCode 链接到 OpenSSL 库

    我有一个需要链接 openssl 库的项目 尽管在编译时遇到了一些问题 include
  • Netbeans 7.2.1 损坏的参考:dist.jar(在 JavaFX 文件上编码时)

    我试图通过阅读一些教程来学习 JavaFX 但是 我什至无法实现 helloworld 应用程序 NetBeans 说道 错误 无法找到或加载主类 helloworld NewFXMain Java 结果 1 然后当我检查 属性 gt 库
  • pdf.js 只适用于某些 pdf 文件吗?

    我正在尝试使用将 pdf 页面转换为画布pdf js 我使用了答案使用 pdf js 和 ImageData 将 pdf 渲染到单个 Canvas https stackoverflow com questions 15341010 ren
  • 在 pandas 数据框中添加缺失的时间

    我有一个pandas DataFrame在列中带有时间戳 这些值以纪元为单位 间隔 0 1 秒 价值观如1488771900 100000 1488771900 200000等等 但是 存在缺失值 所以我有1488794389 500000
  • 将文件编码为 Base64 时内存不足

    使用 Apache commons 中的 Base64 public byte encode File file throws FileNotFoundException IOException byte encoded try FileI
  • C++:C 字符串集

    我想创建一个 以便我可以使用 set find 检查某个单词是否在集合中 然而 C 字符串是指针 因此默认情况下该集合将通过指针值来比较它们 为了正确运行 必须取消引用它们并比较字符串 我可以只向构造函数传递一个指向 strcmp 函数的指
  • Python Moviepy安装问题(Windows 7x64)

    美好的一天 我在为 python 64 位和 Windows 64 位安装 moviepy 时遇到问题 库安装成功 文件ffmpeg下载 每次我运行它或使用 video VideoFileClip path OSError WinError
  • FirebaseobserveSingleEvent 保留在内存中

    我的应用程序相当多地使用 firebase 的observeSingleEventOfType 我开始意识到我的应用程序的内存随着时间的推移而增加 我已经注释掉了所有代码 除了调用以下函数的测试按钮 func loadPostsTest F
  • Windows 版 Git 中的文件名太长

    我在用着Git 1 9 0 preview20140217对于 Windows 据我所知 这个版本应该可以解决文件名太长的问题 但不适合我 我肯定做错了什么 我做错了git config core longpaths true and gi
  • OnTriggerEnter() 未调用

    我有一个玩家 球体 和 4 个敌人 胶囊 所有敌人都添加了角色控制器 它们还有一个子 GameObject 它具有一个 RigidBody 无质量 无重力 和一个附加的 Box Collider 盒子碰撞器足够大 因此您可以看到盒子内部的球
  • yocto 中的机器特定层

    我想为一台新机器 称之为 A 添加一些从上游获取的层 主要是为了使用这些层提供的机器 A 配置文件 内核和 u boot 然而 新层有几个 bbappend 文件 还有 bb 文件 其版本与我的 yocto 项目中其他机器的层不同 例如 机