FPGA - 在 ZYNQ-ZYBO-Z710 开发板上运行 Ubuntu 23.04 LTS

本博客介绍如何使用 Petalinux 2022.4 在 Zynq ZC7010 开发板上安装 Ubuntu 23.04 LTS。以下说明将帮助您设置环境并成功在 Zynq ZC7010 开发板上安装 Ubuntu

前置准备

在开始安装过程之前,请确保具备以下先决条件:

  • Zynq ZC7010 开发板
  • Petalinux 2020.1
  • Ubuntu 23.04 LTS 安装文件
  • SD 卡 (8GB 或更大)
  • 能够运行 Linux 系统的主机(最好是 Ubuntu 系统)
  • Xillinx Vivado 2020.1,下载链接

Step1 - 配置软件

  1. 通过执行以下命令安装所需的依赖项:

    1
    2
    3
    sudo dpkg --add-architecture i386
    sudo apt-get update
    sudo apt-get install tofrodos iproute2 gawk gcc git make net-tools libncurses5-dev tftpd zlib1g-dev zlib1g:i386 libssl-dev flex bison libselinux1 gnupg wget diffstat chrpath socat xterm autoconf libtool tar unzip texinfo zlib1g-dev gcc-multilib build-essential libsdl1.2-dev libglib2.0-dev screen pax gzip
  2. 从 Xilinx 网站下载 Petalinux 2020.1 安装程序到 Linux 主机上,并按照提供的安装说明进行安装。

    Petalinux 2020.1 下载链接

    然后在非 root 用户下运行下面指令安装

    1
    2
    3
    4
    sudo mkdir petalinux-2020.1
    sudo chmod +x petalinux-v2020.1-final-installer.run
    sudo chmod 755 petalinux-2020.1
    ./petalinux-v2020.1-final-installer.run -d petalinux-2020.1

Step2 - 准备 SD 卡

  1. 将SD卡插入主机

  2. 确定分配给 SD 卡的设备名称(例如,/dev/sdX)。你可以使用下面的命令来列出所有可用的块设备,并标识 SD 卡

    1
    lsblk

    如果你使用的是 WSL,为了让 WSL 识别到 SD 卡,你需要做一些操作,具体的可以查看这篇文档

  3. 执行如下命令对SD卡进行分区和格式化

    1
    sudo fdisk /dev/sdX
  4. 在 fdisk 命令行界面中,创建一个新的分区表(g 命令)和一个新的主分区(n 命令)

  5. 使用 t 命令将分区类型设置为FAT32

  6. 通过执行 w 命令并退出 fdisk,将更改写入 SD 卡

  7. 使用下面的命令来 FAT32 文件系统格式化分区

    1
    sudo mkfs.vfat /dev/sdX1
  8. 将所需的 Ubuntu 引导文件装入 SD 卡。Ubuntu 版本可以在:https://ubuntu.com/download 找到

Step3 - 在 Vivado 中创建硬件设计工程

  1. 在主机上启动 Xilinx Vivado,从 Vivado 欢迎界面中选择创建一个新项目,为项目指定名称和位置,并选择适当的项目目录

  2. 选择Zynq ZC7010单板作为项目的目标设备。选择 RTL项目 作为项目类型,将源文件、约束和其他必要的设计文件添加到项目中

  3. 使用项目选项和 IP 集成商的默认设置,完成项目创建后,点击 Generate Bitstream,生成设计所需的比特流文件

  4. 一旦比特流生成完成,通过选择 File -> export -> export hardware 导出硬件设计

  5. 选择 Include bitstream,点击 OK,导出硬件设计

Step4 - 准备 Ubuntu 内核镜像

  1. 打开终端窗口并导航到项目目录。运行以下命令创建一个新的 Petalinux 项目:
1
Petalinux-create -t project-s project-spec/template.yml
  1. 将目录更改为新创建的 Petalinux,然后打开配置菜单,并根据您的需求进行必要的更改以配置项目。确保选择 Ubuntu 23.04 LTS 根文件系统为 rootfs 类型。执行如下命令:
1
2
cd petalinux
Petalinux-config
  1. 配置项目后,保存并退出配置菜单。安装 Zynq ZC7010 开发所需组件并生成可引导文件。最初,这可能需要8个小时,但如果我们尝试重新构建项目,它将在15分钟内重新构建。运行以下命令启动构建进程:
1
petalinux-build
  1. 构建过程完成后,复制生成的映像。将 boot.ub和 BOOT.bin 文件拷贝到 SD 卡

Step5 - 在 Zynq ZC7010 开发板上启动 Ubuntu

  1. 在 Zynq ZC7010 开发板中插入 SD 卡

  2. 连接外设设备

  3. 使用串口连接设备与开发板做数据交换