PetaLinux 工程迁移指南
问题背景
在 PetaLinux 项目开发过程中,经常需要重命名项目目录或将项目移动到新的路径下。但是直接移动或重命名会导致 petalinux-config
等命令报错:
/bin/bash: gen-machineconf: command not found
[ERROR] Command gen-machineconf ... failed
这是因为 PetaLinux 工程中有多个配置文件记录了项目的绝对路径,移动后这些路径就失效了。
解决方案
1. 需要修改的文件清单
迁移 PetaLinux 工程需要修改以下 3 个关键文件:
<project_root>/.petalinux/metadata
<project_root>/components/yocto/workspace/appends/*.bbappend
<project_root>/components/yocto/environment-setup-*
2. 具体修改步骤
步骤 1:修改 .petalinux/metadata
这个文件记录了硬件描述文件(XSA)的路径。
操作方法:
cd <project_root>
vim .petalinux/metadata
找到 HARDWARE_PATH
这一行,将其更新为新的 XSA 文件路径:
# 修改前(旧路径)
HARDWARE_PATH=/old/path/to/vivado/system_wrapper.xsa# 修改后(新路径)
HARDWARE_PATH=/new/path/to/vivado/system_wrapper.xsa
步骤 2:修改 workspace/appends/*.bbappend
这个文件是 Yocto 构建系统的配置文件,记录了源码路径。
查找文件:
cd <project_root>
find components/yocto/workspace/appends -n