PetaLinux 2023.2 安装与验证
PetaLinux 是 AMD/Xilinx SoC 器件的软件开发环境,可用于配置、构建和打包 U-Boot、Linux 内核及根文件系统。本文以 Windows 运行 Vivado、Ubuntu 虚拟机运行 PetaLinux 的组合为例,完成从环境准备到安装验证的全过程。
一、环境说明
- • Windows 主机:Vivado 2023.2,用于 PL 设计并导出 XSA
- • VMware 虚拟机:Ubuntu 22.04 64 位
Vivado、PetaLinux 和 BSP 建议使用同一版本。安装前还应根据 PetaLinux 2023.2 的 Release Notes 确认宿主系统版本、磁盘空间和内存满足要求。虚拟机快照不能替代工程备份。
二、安装前检查
1. 将默认 sh 切换为 bash
部分 PetaLinux 脚本要求 /bin/sh 指向 bash。执行:
sudo dpkg-reconfigure dash
在配置界面选择 No,然后验证:
readlink -f /bin/sh
预期输出:
/usr/bin/bash
2. 更新软件索引并安装依赖
先启用 32 位软件包架构:
sudo dpkg --add-architecture i386
sudo apt update
安装常用依赖:
sudo apt install -y \
autoconf automake bc bison build-essential chrpath cpio debianutils \
diffstat flex gawk gcc gcc-multilib git gnupg gzip iproute2 iputils-ping libegl1-mesa \
libncurses5-dev libsdl1.2-dev libselinux1-dev libssl-dev libtool \
make net-tools pax python3 python3-git python3-jinja2 python3-pexpect \
python3-pip rsync screen socat subversion tar texinfo tftpd-hpa u-boot-tools \
unzip wget xterm xz-utils zlib1g-dev zlib1g:i386
不同 Ubuntu 小版本可用的软件包可能不同。不要盲目安装 python2 或 libtinfo5:它们在部分 Ubuntu 22.04 软件源中已不可用。若安装器或后续构建明确报告缺少某个兼容库,再根据报错和 2023.2 官方依赖表补充。
检查关键工具和 32 位 zlib:
gcc --version
python3 --version
dpkg-query -W zlib1g:i386
三条命令均应正常返回,其中最后一条应显示已安装版本。
三、将安装包传入虚拟机
1. 确认 VMware 共享目录
在 VMware 设置中启用共享文件夹后,执行:
vmware-hgfsclient
命令应输出共享文件夹名称。若没有输出,先确认已安装 VMware Tools 或 open-vm-tools-desktop,再检查虚拟机的共享文件夹设置。
2. 挂载共享目录
sudo mkdir -p /mnt/hgfs
sudo vmhgfs-fuse .host:/ /mnt/hgfs -o allow_other
ls /mnt/hgfs
/mnt/hgfs 下应出现 vmware-hgfsclient 列出的共享文件夹。上述挂载为临时挂载,虚拟机重启后需要重新执行。
假设共享文件夹名为 vmshare,复制安装包:
cp /mnt/hgfs/vmshare/petalinux-v2023.2-10121855-installer.run ~/Downloads/
ls -lh ~/Downloads/petalinux-v2023.2-10121855-installer.run
如官网下载页提供校验值,应在安装前核对文件完整性:
sha256sum ~/Downloads/petalinux-v2023.2-10121855-installer.run
四、安装 PetaLinux
PetaLinux 不应使用 root 用户安装。这里将软件安装到当前用户有写权限的目录,避免 /opt 权限问题:
mkdir -p ~/tools/petalinux/2023.2
chmod +x ~/Downloads/petalinux-v2023.2-10121855-installer.run
cd ~/Downloads
./petalinux-v2023.2-10121855-installer.run --dir ~/tools/petalinux/2023.2
安装器会依次显示许可证。阅读完成后退出查看界面,并按提示接受协议。出现以下信息表示文件部署完成:
INFO: PetaLinux SDK has been installed to ...
若安装器提示参数不支持,先执行以下命令查看当前安装包的准确用法,不要猜测参数:
./petalinux-v2023.2-10121855-installer.run --help
五、加载开发环境
当前终端临时加载:
source ~/tools/petalinux/2023.2/settings.sh
加载时可能显示主机环境检查结果。若出现 WARNING 或 ERROR,应先按提示补齐依赖,再继续验证。
确认当前终端使用的是 bash:
echo "$SHELL"
如需每次打开 bash 时自动加载,可写入 ~/.bashrc:
printf '\nsource "$HOME/tools/petalinux/2023.2/settings.sh"\n' >> ~/.bashrc
source ~/.bashrc
自动加载会修改当前终端的工具链环境。若同一台机器还要使用其他版本,建议保留手动 source,避免版本串用。
六、验证安装结果
依次执行:
command -v petalinux-create
petalinux-create --help
echo "$PETALINUX"
预期结果:
- •
command -v 返回 ~/tools/petalinux/2023.2/tools/... 下的可执行文件路径;实际子目录以安装结果为准 - •
petalinux-create --help 正常显示帮助信息,无缺少动态库或 Python 模块的报错
还可以检查路径是否存在:
test -d "$PETALINUX" && echo "PetaLinux environment: OK"
出现 PetaLinux environment: OK,且前述命令均正常执行,说明安装文件、运行依赖和环境变量已经打通。
需要进一步验证完整构建链时,应使用与 2023.2 匹配的 BSP,或导入 Vivado 2023.2 导出的 XSA,创建测试工程并完成一次构建。首次构建还会下载源码,因此需要稳定的网络连接和充足的磁盘空间。
七、常见问题定位
找不到 petalinux-create
重新加载环境并确认文件存在:
source ~/tools/petalinux/2023.2/settings.sh
echo "$PETALINUX"
find ~/tools/petalinux/2023.2 -name petalinux-create -type f
安装目录不可写
不要使用 sudo 运行安装器,也不要直接修改系统目录权限。改用当前用户拥有的目录,例如 ~/tools/petalinux/2023.2。
共享文件夹为空
依次检查 VMware 共享功能、vmware-hgfsclient 输出和挂载命令。共享目录仅用于传输安装包;正式工程建议放在 Ubuntu 本地文件系统中,避免共享文件系统的权限、符号链接和 I/O 性能问题。
报缺少动态库
先记录完整报错,再定位缺失文件:
ldd "报错中对应的可执行文件" | grep 'not found'
根据缺失库安装对应软件包,不要混装其他 Ubuntu 版本的软件源。
至此,PetaLinux 2023.2 已完成安装、环境加载和命令级验证,可以进入工程创建与构建阶段。