首页 > 解决方案 > 无法使用 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 开始解析,直到抛出以下错误:

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

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

ERROR: Layer xilinx is not compatible with the core layer that only support these series: gatesgarth (layer is compatible with zeus)

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

标签: embedded-linuxyoctoxilinx

解决方案


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

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

参见:https ://docs.yoctoproject.org/ref-manual/variables.html#term-LAYERSERIES_COMPAT


推荐阅读