我正在尝试为 ZCU106 开发板创建和配置 Petalinux 项目。项目创建成功。一般配置也不会提示任何警告。但是,当我运行内核配置时,它提示错误,指出我提供的机器名称无效。步骤如下:
1-> 创建项目
petalinux-create --type project --template zynqMP --name project_zcu_106
2-> 使用 XSA 文件配置项目
petalinux-config --get-hw-description /path/to/file.xsa
3-> 然后我将 DTG Settings →(模板)MACHINE_NAME 和 Yocto Settings → YOCTO_MACHINE_NAME 设置为
zcu106-reva
并退出配置
4-> 最后,我尝试运行 Linux 内核的配置,但失败了。
petalinux-config -c kernel
MACHINE=zcu106-reva 无效。请在您的计算机中设置一个有效的机器 local.conf、环境或其他配置文件。
我在 Petalinux 2018.3 和 2020.2 上执行相同的步骤。没有问题。这次可能会出现什么问题呢?我该如何进阶?
好的,我找到问题了。
DTG Settings → (template) MACHINE_NAME
和Yocto Settings → YOCTO_MACHINE_NAME
是两个不同的东西。
DTG Settings → (template) MACHINE_NAME
代表您针对不同设备调整的BSP文件。
另一方面,
Yocto Settings → YOCTO_MACHINE_NAME
代表Yocto将用来配置系统的配置文件(<machine name>.conf)
。以下是来自 Yocto 项目邮件列表的描述:
MACHINE 只是指向机器特定配置的指针 文件。因此,如果您设置了
,那么在 bblayer 路径中的某个位置,您需要确保
MACHINE=foo
可用。然后它就会使用它。conf/machine/foo.conf
所以,我只将其更改为
zynqmp-generic
并且它有效。