在自定义层中升级(覆盖)整个配方

时间:2019-05-10 19:10:32

标签: yocto alsa

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

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

执行此操作的最佳方法是什么?如果我只是下载较新的食谱并将其包括在我的图层中(与文件系统名称匹配),它将自动使用更高版本,还是我需要做其他事情?

1 个答案:

答案 0 :(得分:2)

处理方式正确,应该在自己的图层上添加新的配方/ bbappend文件,默认情况下,您不应该修改Yocto的基础图层或第三方图层。但是,由于要添加现有食谱的新版本,因此请记住:

  • 您必须检查自己层的优先级以及包含原始配方的层的优先级。 Yocto将选择优先级较高的层的配方,而不管它是不是较新的版本(忽略PV)。有关更多信息,请在《 Yocto项目参考手册》中搜索BBFILE_PRIORITY。 (您还可以使用命令bitbake-layers show-layers查看所有已配置层的列表及其优先级)
  • 对于两层具有相同优先级的情况,Yocto将使用最高PV来构建配方(您可以在配方内或在其文件名 recipename_pv.bb中检查/设置此值)。另外,如果您希望选择其他版本而不是当前正在构建的版本,则只需在 distro.conf local.conf <中设置变量PREFERRED_VERSION_recipename = desiredPV。 / em>文件。