杰瑞科技汇

Petalinux安装教程,步骤详解与常见问题?

目录

  1. Petalinux 简介
  2. 安装前准备
    • 1. 硬件要求
    • 2. 软件环境
    • 3. 创建专用安装目录
  3. 安装依赖包
    • 1. Ubuntu/Debian 系统
    • 2. RedHat/CentOS/Fedora 系统
  4. 下载和安装 Petalinux 工具链
    • 1. 下载安装包
    • 2. 运行安装脚本
    • 3. 配置环境变量
  5. 验证安装
  6. 常见问题与解决方案
    • 1. ERROR: tcl error 错误
    • 2. 缺少 libncurses.so.5libtinfo.so.5
    • 3. 安装路径问题
    • 4. make 命令找不到

Petalinux 简介

Petalinux 是由 Xilinx(现为 AMD)提供的一款免费的、完整的嵌入式 Linux 解决方案,它不是一个简单的 Linux 内核,而是一个强大的工具集,用于在 Xilinx 的 Zynq、Zynq UltraScale+ MPSoC 和 Versal 架构的 SoC 上定制、构建和部署完整的 Linux 系统。

Petalinux安装教程,步骤详解与常见问题?-图1
(图片来源网络,侵删)

Petalinux 的核心功能包括:

  • 设备树生成与修改:自动生成并管理复杂的设备树源文件。
  • 根文件系统构建:支持多种根文件系统类型(如 BusyBox, Yocto Project)。
  • U-Boot 引导加载程序定制:修改和重新编译 U-Boot。
  • 内核编译与配置:定制 Linux 内核,添加或移除驱动和功能。
  • 应用交叉编译:提供工具链,用于在宿主机上编译目标板运行的应用程序。

安装前准备

1. 硬件要求

  • CPU: 64-bit x86 多核处理器 (推荐 4 核或以上)
  • 内存: 至少 16 GB RAM (推荐 32 GB 或以上,因为编译过程非常消耗内存)
  • 硬盘空间: 至少 100 GB 可用空间 (SSD 强烈推荐,可大幅提升编译速度)
  • 网络: 稳定的互联网连接,用于下载依赖包和工具链。

2. 软件环境

强烈建议在 虚拟机 中进行安装,以避免与宿主机的环境冲突。

  • 操作系统: Ubuntu 20.04 LTS (64-bit) 是官方最推荐且经过充分测试的系统,本教程将以此为例。
  • 虚拟机软件: VMware Workstation / Player, VirtualBox 等。
  • 关闭 Swap: 为了获得最佳性能,建议在安装前关闭系统的 Swap 分区。
    sudo swapoff -a
    # (可选) 编辑 /etc/fstab 文件,注释掉 swap 相关行,使其永久关闭

3. 创建专用安装目录

为了保持系统整洁,我们创建一个专门用于存放 Xilinx 工具的目录。

# 在你的用户主目录下创建一个文件夹
mkdir ~/Xilinx
cd ~/Xilinx

安装依赖包

这一步至关重要,缺少任何一个依赖都可能导致安装失败或后续工具链无法正常工作。

Petalinux安装教程,步骤详解与常见问题?-图2
(图片来源网络,侵删)

1. Ubuntu/Debian 系统

打开终端,执行以下命令:

# 更新软件包列表
sudo apt-get update
# 安装必要的依赖包
sudo apt-get install -y tofrodos gawk xvfb xterm net-tools libncurses-dev libncursesw5-dev libtinfo5 zlib1g-dev gcc git make libssl-dev flex bison libelf-dev dwarves

注意: libtinfo5libncursesw5-dev 是关键,它们可能会被 libncurses-dev 部分覆盖,但确保它们存在可以避免很多后续问题。

2. RedHat/CentOS/Fedora 系统

对于 RedHat/CentOS 7/8 或 Fedora 系统,可以使用 yumdnf

# 对于 CentOS/RHEL 7/8
sudo yum groupinstall -y "Development Tools"
sudo yum install -y tofrodos gawk xorg-x11-server-Xvfb xterm net-tools ncurses-devel openssl-devel zlib-devel git libelf-devel dwarves
# 对于 Fedora
sudo dnf groupinstall -y "Development Tools"
sudo dnf install -y tofrodos gawk xorg-x11-server-Xvfb xterm net-tools ncurses-devel openssl-devel zlib-devel git libelf-devel dwarves

下载和安装 Petalinux 工具链

1. 下载安装包

  1. 访问 AMD Xilinx 官网下载中心:https://www.xilinx.com/support/download.html

  2. 在 "Design Tools" -> "Vivado ML Edition / HLx Edition" 下找到对应的版本(2025.1)。

  3. 下载 Petalinux Tools 安装文件,它通常是一个 .iso 文件,petalinux-v2025.1-final-2301008.iso

  4. 将下载好的 .iso 文件上传到你的 Ubuntu 虚拟机中,可以放在 ~/Xilinx 目录下。

2. 运行安装脚本

  1. 挂载 ISO 文件:

    # 进入存放 ISO 的目录
    cd ~/Xilinx
    # 创建一个挂载点
    mkdir ~/Xilinx/petalinux_mount
    # 挂载 ISO 文件 (请替换为你的实际文件名)
    sudo mount -o loop petalinux-v2025.1-final-2301008.iso ~/Xilinx/petalinux_mount
  2. 运行安装程序:

    # 进入挂载目录
    cd ~/Xilinx/petalinux_mount
    # 运行安装脚本
    # 注意:请确保你的终端支持 256 色,否则可能会报错,如果报错,可以尝试使用 `xterm` 或 `export COLORTERM=truecolor`
    sudo ./xsetup
  3. 图形界面安装步骤:

    • Welcome: 点击 "Next"。
    • EULA: 勾选 "I accept the terms of the license agreement",然后点击 "Next"。
    • Choose Install Folder: 保持默认路径 /opt/petalinux/2025.1强烈建议不要修改此路径,因为它与后续的环境变量配置直接相关,点击 "Next"。
    • Shortcuts: 选择是否创建桌面快捷方式,点击 "Next"。
    • Install: 点击 "Install" 开始安装,等待进度条完成,这可能需要一些时间。
    • Install Complete: 安装完成后,点击 "OK"。
  4. 卸载 ISO:

    # 回到主目录
    cd ~
    # 卸载挂载点
    sudo umount ~/Xilinx/petalinux_mount
    # (可选) 删除挂载点目录
    rmdir ~/Xilinx/petalinux_mount

3. 配置环境变量

为了让系统能在任意终端中找到 Petalinux 命令,需要将 Petalinux 的路径添加到环境变量 PATH 中。

  1. 打开 .bashrc 文件:

    gedit ~/.bashrc

    (或者使用你喜欢的编辑器,如 vim, nano)

  2. 在文件末尾添加以下内容:

    # Petalinux Settings
    export PATH=/opt/petalinux/2025.1/tools/common/petalinux-v$PETALINUX_VER/bin:$PATH
    export PETALINUX_VER=2025.1
    export PYTHON=python3
    export PETALINUX=/opt/petalinux/2025.1
    export PETALINUX_SDK=/opt/petalinux/2025.1/components/yocto

    重要提示:

    • 确保路径 /opt/petalinux/2025.1 与你的实际安装路径一致。
    • export PYTHON=python3 是必须的,因为新版 Petalinux 默认使用 Python 3。
  3. 保存并关闭文件

  4. 让配置生效:

    source ~/.bashrc

    或者直接打开一个新的终端窗口。


验证安装

你可以通过运行以下命令来验证 Petalinux 是否安装成功:

petalinux-util --version

如果安装成功,你会看到类似以下的输出,显示了版本信息:

PetaLinux utility v2025.1 (Build: 2301008)
Copyright (C) 2012-2025, Advanced Micro Devices, Inc.

还可以尝试创建一个新项目来验证工具链的完整性:

# 创建一个测试项目
petalinux-create -t project -n test_project
# 进入项目目录
cd test_project
# 执行配置 (这会下载一些依赖,并检查环境)
# 这里我们选择一个通用的 Zynq 板卡模板
petalinux-config --get-hw-description= --template=zynq
# 在弹出的配置界面中,直接按 "OK" 保存退出
# 然后执行构建
petalinux-build

第一次运行 petalinux-build 时,系统会下载大量 Yocto 编译所需的源码,这个过程非常耗时,请耐心等待,如果最终成功,说明你的安装和配置是正确的。


常见问题与解决方案

1. ERROR: tcl error 错误

现象: 运行 petalinux-configpetalinux-build 时,出现类似 ERROR: tcl error in target... 的错误。

原因: 通常是终端颜色或字符编码问题。

解决方案:

  1. 在运行 Petalinux 命令前,先设置环境变量:
    export COLORTERM=truecolor
  2. 或者,使用 xterm 来运行命令:
    xterm -e "petalinux-config ..."
  3. 确保你的终端支持 256 色。

2. 缺少 libncurses.so.5libtinfo.so.5

现象: 运行某些命令时,提示找不到库文件。

原因: 新版 Ubuntu 使用 libncurses.so.6,但一些旧工具依赖 libncurses.so.5

解决方案 (Ubuntu):

# 安装兼容库
sudo apt-get install -y libncurses5 libtinfo5
# 创建符号链接 (一种替代方案)
sudo ln -s /lib/x86_64-linux-gnu/libncurses.so.6 /lib/x86_64-linux-gnu/libncurses.so.5
sudo ln -s /lib/x86_64-linux-gnu/libtinfo.so.6 /lib/x86_64-linux-gnu/libtinfo.so.5

3. 安装路径问题

现象: 所有命令都提示 "command not found"。

原因: ~/.bashrc 中的环境变量路径不正确。

解决方案:

  1. 检查 ~/.bashrc 文件,确保 export PATH=/opt/petalinux/... 这一行路径完全正确。
  2. 确保你执行了 source ~/.bashrc 或重启了终端。
  3. 绝对不要将 Petalinux 安装在包含空格的路径中(如 /home/user/My Documents/Petalinux),这会引发各种难以排查的问题。

4. make 命令找不到

现象: 提示 make: command not found

原因: build-essential 包没有安装。

解决方案:

sudo apt-get install -y build-essential

恭喜!如果你已经成功完成了以上所有步骤,并且通过了验证测试,那么你的 Petalinux 开发环境就已经准备就绪了。

后续步骤:

  1. 获取硬件描述文件: 从 Vivado 中导出你的硬件平台(.hdf.xsa 文件)。
  2. 创建新项目: 使用 petalinux-create -t project -n <project_name> 创建一个新项目。
  3. 导入硬件: 使用 petalinux-config --get-hw-description=<path_to_xsa> 导入硬件描述文件。
  4. 开始定制: 根据你的需求,配置内核、设备树、根文件系统和 U-Boot。
  5. 编译和部署: 使用 petalinux-build 编译整个系统,然后使用 petalinux-package 打包成 BOOT.BIN 和 image.ub 文件,最后烧录到目标板。

Petalinux 学习曲线较陡,但功能强大,遇到问题时,请务必查阅官方文档和社区论坛,祝你开发顺利!

分享:
扫描分享到社交APP
上一篇
下一篇