【问题标题】:Use latest package for installation in yocto?在 yocto 中使用最新的安装包?
【发布时间】:2020-08-04 17:30:31
【问题描述】:

我必须安装 kubernetes v1.17.6。在我的元测试层中,我在 recipes-containers/kubernetes 目录中创建了一个新的配方 kubernetes_git.bb。我正在研究 zeus 分支,并且由于 poky 层的版本为 1.12,因此出现错误

kubernetes v1.17.6 需要 go 版本 1.13+

poky/meta/recipes-devtools里面的

Go目录包含很多内容,所以我首先想到的只是将v1.12复制并替换为v1.14,但这并不简单看起来。较早的问题消失了,但由于有很多其他配方依赖于 go 版本 1.12,因此我得到了其他错误,所以我不能只是替换它。

然后,在元测试层,我创建了一个新文件夹 meta-devtools 并将 go v1.14 复制到其中。我很确定这不是一种合适的方法,因为我再次遇到需要更新版本的 go 的第一个错误。 是否可以将元测试层中的 kubernetes 指向使用 go 版本 v1.14 或有更好的方法来实现这一点?

【问题讨论】:

  • 从 dunfell (1.14.1) 获取配方、公司和补丁文件,看看是否有帮助。将所有这些放在您的图层中。另外... dunfell 是 LTS,然后从 zeus 跳转到 dunfell 应该不会那么大,所以也许值得升级到 dunfell?

标签: embedded-linux yocto


【解决方案1】:

将以下行添加到您的local.conf

PREFERRED_VERSION_kubernetes = "1.14"

或者,将层的优先级更改为高于5poky/meta 层的优先级)。

【讨论】:

  • 我觉得有一点误解,我不想要kubernetes 1.14版本,而是kubernetes 1.17.6版本需要“go” 1.13+版本
  • 而且最重要的是只有 kubernetes v1.17.6 需要 go 1.13+ 版本,其他大部分菜谱都需要旧版本的 go
  • go 包设置优先级并构建您的kubernetes 版本。
  • 我这样做了,它的工作,我不仅要为 go 设置优先级,还要为 go-native、go-runtime 等设置优先级,之前我只设置了 go,还有poky 已初始化为 1.12% 的变量 GOVERSION,因此我没有设置所有这些优先级,而是将其增加到 1.14%。
猜你喜欢
  • 2021-10-11
  • 1970-01-01
  • 1970-01-01
  • 2022-06-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-07-20
相关资源
最近更新 更多