无法使用 Yocto 为 ZCU104 构建映像

问题描述

我正在尝试使用 Yocto 为 Xilinx 评估板 ZCU104 构建我的第一个映像。由于我只是一个初学者,我安装了使用 Poky 所需的软件包并坚持以下简单步骤:

  1. 我克隆了 Poky:git clone git://git.yoctoproject.org/poky
  2. source oe-init-build-env:创建了一个构建目录。
  3. 在构建目录中,我克隆了 meta-xilinx 层:git clone git@github.com:Xilinx/meta-xilinx.git
  4. 我阅读了 meta-xilinx/meta-xilinx-bsp 中的 README.mdREADME.building.md 文件,以了解接下来要做什么。
  5. 我使用命令 bitbake-layers add-layer 添加以下图层:meta-xilinx-bspmeta-xilinx-standalonemeta-xilinx-contrib。我可以在 bblayers.conf 中看到这些层。
  6. 我在 local.conf 中编辑了 MACHINE:MACHINE ?= zcu104-zynqmp
  7. 我觉得我很高兴,所以我打电话给 bitbake -k core-image-minimal 并期待构建成功。

Bitbake 开始解析,直到抛出以下错误:

错误:解析错误在 //poky/build/meta-xilinx/meta-xilinx-bsp/recipes-bsp/uboot-device-tree/uboot-device-tree.bb:11: 无法继承文件 classes/xsctdt.bbclass

我在 /meta-xilinx-bsp/classes 下寻找那个类,但它不在那里,但我在 meta-xilinx 存储库中找到了它,所以我开始想知道为什么我没有得到那个类(以及其他类)。 请注意,我还没有切换到任何分支(yocto 或 meta-xilinx),我留在主分支上。从两个项目切换到最新标签后,我再次尝试,但出现以下错误:

错误:xilinx 层与核心层不兼容 支持这些系列:gatesgarth(层与zeus兼容)

接下来我应该尝试什么?我应该结账其他分行吗?如果是这样,是否有任何索引可以链接正确的 yocto 和 meta-xilinx 分支? 无论如何,当我克隆它时,我怎么会从存储库中缺少必要的类? 非常感谢!

解决方法

检查在您使用的每个层中以相同方式命名的分支(包括 poky)。分支通常以 Yocto 版本命名。通常明智的做法是避免使用 master 分支。

如果某个层没有给定 Yocto 版本的分支,请查看似乎是最近的分支并检查 conf/layer.conf 以获取 LAYERSERIES_COMPAT 变量。找到一个带有 LAYERSERIES_COMPAT 的分支,其中包含您要使用的 Yocto 版本。如果没有,您需要将 Yocto 版本添加到所述变量并在此过程中修复问题,直到它编译并且一切正常。

c.f.:https://docs.yoctoproject.org/ref-manual/variables.html#term-LAYERSERIES_COMPAT

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...