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

时间:2019-11-14 18:07:07

标签: yocto

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

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

1 个答案:

答案 0 :(得分:2)

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

1)kas:一种专门用于设置基于OpenEmbedded(因此也是基于poky)的构建的工具,包括检出特定的图层修订,将其添加到bblayers.conf,进行设置local.conf,并为特定目标开始bitbake

专业版:

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

相反:

  • 如果从pipdocker加上包装脚本中拉出,则至少需要有功能的python设置。
  • 没有任何设置和构建功能

2)repo:这是真正的经典之作,来自android系统。

专业版:

  • 功能强大,具有很多内置的支持,可管理拉动的东西-在这种情况下为图层。
  • 众所周知,经过严格测试。

相反:

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

3)git submodules:轻量级方法。

专业版:

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

相反:

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

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