如何管理yocto项目的meta层并在git中构建配置

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何管理yocto项目的meta层并在git中构建配置相关的知识,希望对你有一定的参考价值。

我正在尝试找出基于yocto的项目的工作流程。目前,我已经为我拉出的每个元层创建了一个带有子模块的git。 https://github.com/shrkamat/rpi/tree/thud

这意味着当我移至新的yocto版本(例如warrior)时,我需要创建新的git分支并将所有子模块移至新的租约分支。有没有更好的方法,这里有最佳实践吗?

答案

这些天,针对此问题有三种主要解决方案(以及最佳实践),以及许多许多本地编写的脚本。如果您只是刚开始,我强烈建议您遵循以下条件之一:

1] kas:专门用于设置基于OpenEmbedded(因此也是基于poky)的版本的工具,包括签出特定的图层修订,将其添加到bblayers.conf,设置local.conf,以及为特定目标开始bitbake

专业人士:

  • 高度专业化,不需要解决麻烦,因为它原本是用于其他用途的。
  • 支持将构建配置与层(通常是产品应用程序)捆绑在一起。这可以显着减少提交混乱。
  • 仅具有适当的local.conf支持的解决方案

Contra:

  • 如果从pipdocker加上包装脚本中提取,则至少需要一个功能正常的python设置。
  • 除了设置和构建之外,没有其他功能

2)repo:到目前为止,是一个真正的经典,来自android系统。

专业人士:

  • 非常强大,具有很多内置的支持来管理提取的内容-在这种情况下为图层。
  • 众所周知,经过严格测试。

Contra:

  • 完成超出图层设置本身的工作需要一定的技巧
  • 至少需要下载一次。

3)git submodules:轻量级方法。

专业人士:

  • 通常不需要其他设置,我们都已经安装好git,对吧?

Contra:

  • 我认为最有效的方法。
  • 需要技巧或自定义脚本才能完成纯图层设置以外的所有工作。比回购更多。

那么该选哪个?我个人最喜欢的是1-kas,因为它几乎可以完全满足我的要求。正如他们所说,您的里程可能会有所不同。但是,与使用本地编写的脚本相比,这些一般方法中的每一个无疑都是更好的开始。

以上是关于如何管理yocto项目的meta层并在git中构建配置的主要内容,如果未能解决你的问题,请参考以下文章

Yocto与纯裸内核开发的对比

Yocto与纯裸内核开发的对比

如何在 yocto 中编译 linux-raspberrypi 内核?

i.MX Yocto项目用户指南 -- 下

i.MX Yocto项目用户指南 -- 下

在 yocto 中构建元虚拟化层