如何管理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:
- 如果从
pip
或docker
加上包装脚本中提取,则至少需要一个功能正常的python设置。 - 除了设置和构建之外,没有其他功能
2)repo:到目前为止,是一个真正的经典,来自android系统。
专业人士:
- 非常强大,具有很多内置的支持来管理提取的内容-在这种情况下为图层。
- 众所周知,经过严格测试。
Contra:
- 完成超出图层设置本身的工作需要一定的技巧
- 至少需要下载一次。
3)git submodules:轻量级方法。
专业人士:
- 通常不需要其他设置,我们都已经安装好
git
,对吧?
Contra:
- 我认为最有效的方法。
- 需要技巧或自定义脚本才能完成纯图层设置以外的所有工作。比回购更多。
那么该选哪个?我个人最喜欢的是1-kas,因为它几乎可以完全满足我的要求。正如他们所说,您的里程可能会有所不同。但是,与使用本地编写的脚本相比,这些一般方法中的每一个无疑都是更好的开始。
以上是关于如何管理yocto项目的meta层并在git中构建配置的主要内容,如果未能解决你的问题,请参考以下文章