使用哪个 Yocto 分支
Which Yocto branch to use
我是 Yocto 世界的新手。我正在尝试学习如何使用 Yocto 创建嵌入式 Linux 发行版,到目前为止,我已经成功地为我的定制板构建了一个基本映像,并且系统运行良好。我目前正在使用 Yocto 分支 - krogoth。我在 Yocto 网站上查看了稳定版本:
https://wiki.yoctoproject.org/wiki/Releases
Krogoth 和 Jethro 分支被标记为稳定版本。由于 Krogoth 版本相对较新,我最初使用的是它。现在我正计划为我的嵌入式产品安装一个基于 Yocto 的构建系统。
选择一个分支比另一个分支有什么影响。在选择使用哪个分支时,有什么长期利益或应该牢记什么?
关于这些的任何输入都会有所帮助。干杯:)
仅最后两个(或有时三个)Yocto 分支得到官方支持:每六个月有一个主要版本,因此特定版本的支持期约为发布日期后一年。在此期间,该版本将获得带有安全更新和错误修复的点版本。
除非您有特殊原因不这样做,否则您应该始终将您的工作基于最新版本(在撰写本文时是 Morty),并且每 6 或 12 个月继续重新基于新的 Yocto 版本。这不仅意味着您还有更多的官方支持期,而且如果您 运行 遇到问题,也可以更轻松地获得帮助。
还有在 master 分支之上进行开发的选项:这将意味着更多的更改,但如果您知道您的产品版本将在下一个 Yocto 版本之后发布,则可能有意义。在这种情况下,您可以从 master 开始,然后切换到 Yocto 发布分支(比使用以前的版本多获得 6 个月的支持)。
如果您正在构建实际产品并需要更长的支持生命周期,您可能想与其中一家商业供应商联系。
talks 正在进行 longer-term "community" 受支持的版本,但目前还没有承诺。
虽然最新的稳定版是一个不错的决定。将您的决定与您计划在系统中使用的其他层保持一致也很重要。
例如,如果您计划为 raspberryPi 构建您将需要它的 BSP 层。哪个支持阶段可能与 poky 或 openembedded 的步伐不同。
在层之间混合分支将 以冲突告终。例如,所谓的 bbappends,有时与特定版本号相关联,如果在层中找不到这些版本,则会破坏构建。(这实际上可能是您做出错误决定的一个很好的指示图层分支)
您应该评估所有层并找到一个折衷方案:
- 正在获取最新的稳定分支
- 获取所有层支持的最新分支。
某些层可能无法使用相同的分支名称进行维护(甚至根本无法维护),但它们应该在 README 中提及它们需要哪个 poky 分支。
最后,请注意您决定使用的 yocto 分支不能被您当前的主机 linux 发行版支持。例如:我想使用一个层,它迫使我坚持使用 Krogoth,但是 this branch is not tested 使用较新的发行版,例如 Ubunutu 16.04 或 18.04。虽然在这种情况下使用 16.04 没有问题,但我在使用 18.04 时遇到了几个问题。
我是 Yocto 世界的新手。我正在尝试学习如何使用 Yocto 创建嵌入式 Linux 发行版,到目前为止,我已经成功地为我的定制板构建了一个基本映像,并且系统运行良好。我目前正在使用 Yocto 分支 - krogoth。我在 Yocto 网站上查看了稳定版本:
https://wiki.yoctoproject.org/wiki/Releases
Krogoth 和 Jethro 分支被标记为稳定版本。由于 Krogoth 版本相对较新,我最初使用的是它。现在我正计划为我的嵌入式产品安装一个基于 Yocto 的构建系统。
选择一个分支比另一个分支有什么影响。在选择使用哪个分支时,有什么长期利益或应该牢记什么? 关于这些的任何输入都会有所帮助。干杯:)
仅最后两个(或有时三个)Yocto 分支得到官方支持:每六个月有一个主要版本,因此特定版本的支持期约为发布日期后一年。在此期间,该版本将获得带有安全更新和错误修复的点版本。
除非您有特殊原因不这样做,否则您应该始终将您的工作基于最新版本(在撰写本文时是 Morty),并且每 6 或 12 个月继续重新基于新的 Yocto 版本。这不仅意味着您还有更多的官方支持期,而且如果您 运行 遇到问题,也可以更轻松地获得帮助。
还有在 master 分支之上进行开发的选项:这将意味着更多的更改,但如果您知道您的产品版本将在下一个 Yocto 版本之后发布,则可能有意义。在这种情况下,您可以从 master 开始,然后切换到 Yocto 发布分支(比使用以前的版本多获得 6 个月的支持)。
如果您正在构建实际产品并需要更长的支持生命周期,您可能想与其中一家商业供应商联系。
talks 正在进行 longer-term "community" 受支持的版本,但目前还没有承诺。
虽然最新的稳定版是一个不错的决定。将您的决定与您计划在系统中使用的其他层保持一致也很重要。
例如,如果您计划为 raspberryPi 构建您将需要它的 BSP 层。哪个支持阶段可能与 poky 或 openembedded 的步伐不同。
在层之间混合分支将 以冲突告终。例如,所谓的 bbappends,有时与特定版本号相关联,如果在层中找不到这些版本,则会破坏构建。(这实际上可能是您做出错误决定的一个很好的指示图层分支)
您应该评估所有层并找到一个折衷方案:
- 正在获取最新的稳定分支
- 获取所有层支持的最新分支。
某些层可能无法使用相同的分支名称进行维护(甚至根本无法维护),但它们应该在 README 中提及它们需要哪个 poky 分支。
最后,请注意您决定使用的 yocto 分支不能被您当前的主机 linux 发行版支持。例如:我想使用一个层,它迫使我坚持使用 Krogoth,但是 this branch is not tested 使用较新的发行版,例如 Ubunutu 16.04 或 18.04。虽然在这种情况下使用 16.04 没有问题,但我在使用 18.04 时遇到了几个问题。