4

我在项目中有一个自定义层。这将与同事共享。

我的发行版(poky)它使用旧版本的 alsa。这将在构建区域的初始设置时下载。我想用更高版本“替换”那个版本的 alsa,并在我的自定义层中执行此操作,这样他们就不必在 poky 中编辑/替换食谱。

最好的方法是什么?如果我只是下载较新的配方并将其包含在我的层中(匹配文件系统名称),它将自动使用更高版本还是我需要做其他事情?

4

1 回答 1

8

你的做法是正确的,你应该在你自己的层上添加新的食谱/bbappend 文件,你不应该默认修改 Yocto 的基础层或第三方层。尽管如此,由于您想添加现有配方的更新版本,您应该记住:

  • 您必须检查自己层的优先级和包含原始配方的层的优先级。Yocto 将选择更高优先级层的配方,无论它是否是新版本(忽略PV)。如需更多信息,请BBFILE_PRIORITY在 Yocto 项目参考手册中搜索。(您还可以使用命令查看所有已配置层的列表及其优先级bitbake-layers show-layers
  • 在两个层具有相同优先级的情况下,Yocto 将构建具有最高优先级的配方PV(您可以在配方中或在其文件名recipename_pv.bb中检查/设置此值)。或者,如果您希望选择另一个版本而不是当前正在构建的版本,您可以PREFERRED_VERSION_recipename = desiredPVdistro.conflocal.conf文件中设置变量。
于 2019-05-11T12:17:19.427 回答