embedded-linux - 无法使用 Yocto 为 ZCU104 构建映像
问题描述
我正在尝试使用 Yocto 为 Xilinx 评估板 ZCU104 构建我的第一个映像。由于我只是一个初学者,我安装了使用 Poky 所需的软件包,并坚持以下简单步骤:
- 我克隆了 Poky:
git clone git://git.yoctoproject.org/poky
source oe-init-build-env
:创建了一个构建目录。- 在构建目录中,我克隆了 meta-xilinx 层:
git clone git@github.com:Xilinx/meta-xilinx.git
- 我从 meta-xilinx/meta-xilinx-bsp 中读取了
README.md
和README.building.md
文件,以了解下一步该做什么。 - 我使用该命令
bitbake-layers add-layer
添加以下图层meta-xilinx-bsp
:meta-xilinx-standalone
和meta-xilinx-contrib
. 我可以在bblayers.conf
. - 我在 local.conf 中编辑了 MACHINE:
MACHINE ?= zcu104-zynqmp
- 我想我很好,所以我打电话
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 分支?无论如何,当我克隆它时,我怎么会从存储库中丢失必要的类?非常感谢!
解决方案
在您使用的每一层中检查以相同方式命名的分支(包括 poky)。分支通常以 Yocto 版本命名。避免使用 master 分支通常是明智的。
如果某个层没有给定 Yocto 版本的分支,请查看似乎是最近的分支并签入conf/layer.conf
变量LAYERSERIES_COMPAT
。找到一个分支,其中包含LAYERSERIES_COMPAT
您要使用的 Yocto 版本。如果没有,您需要将 Yocto 版本添加到所述变量并在此过程中修复问题,直到它编译并且一切正常。
参见:https ://docs.yoctoproject.org/ref-manual/variables.html#term-LAYERSERIES_COMPAT
推荐阅读
- c++ - Qt 对象所有权内存泄漏
- web-services - 使用 Web 服务更新 Moodle 中的自定义文件?
- reactjs - 从 React js 中的第一个 API 调用加载所有内容(延迟加载)时进行第二个 API 调用
- c# - C# 中 JSON 到 ExpandoObject 的转换
- java - 程序中的异常读取文件以获取不同硬币的数量并打印出总数
- javascript - 显示“小时和分钟”适用于除 safari 之外的所有浏览器。JavaScript 日期
- apache-spark - Spark Memsql 连接器不起作用
- sql - 在 Neo4j、noSQL 中加入两个表
- python - 使用Python中的算法按类属性手动排序列表
- angular - 无法从 ViewChild 获取数据表实例