Xilinx平台下载安装Linux操作系统

因工作需要,回顾在校期间学习的Linux操作系统相关知识,使用Xilinx平台重新配置安装运行。

一、配置工具

1、虚拟机
本人使用的虚拟机是Ubuntu 20.04.3及VMware,也可以使用virtualBox。

2、petalinux
Petalinux 工具是 Xilinx 公司推出的嵌入式 Linux 开发套件,包括了 u-boot、 Linux Kernel、device-tree、 rootfs 等源码和库,以及 Yocto recipes,可以让很方便的生成、配置、编译及自定义 Linux 系统。 Petalinux 支持 Versal 、 Zynq UltraScale+ MPSoC、 Zynq-7000 SoC 以及MicroBlaze,可与 Xilinx 硬件设计工具 Vivado 协同工作,安装在 Ubuntu 操作系统中。下载地址:https://china.xilinx.com/products/design-tools/embeddedsoftware/petalinux-sdk.html。 petalinux要和安装的vivado版本一致。
安装petalinux之前需要使用Xilinx 提供的脚本 plnx-env-setup.sh安装依赖库,地址https://www.xilinx.com/support/answers/73296.html。
修改bash:
sudo dpkg-reconfigure dash
完成以上步骤后可以开始安装petalinux。本人安装完成后文件夹如下:

开始使用 petalinux 工具之前,需要先运行 petalinux 安装目录下的 settings.sh 脚本文件设置 petalinux 工作环境, settings.sh 脚本用于 bash,settings.csh 用于 C shell。该命令只对当前终端有效,重新打开终端后需要重新执行这一步。
source settings.sh

3、MobaXterm
常用的串口终端软件,用于在Windows平台下以命令行方式控制开发板。

4、开发板
包括网线、电源线及SD卡等配套工具。

5、vivado
在开始配置之前需要使用Vivado对应开发板创建的工程下的xsa文件:system_wrapper.xsa 文件,该文件包含着 Vivado 工程所对应的硬件平台信息, Petalinux 根据这些信息来配置 fsbl、 uboot、内核等。

二、配置Linux系统

一般配置PetaLinux 工具遵循下表所示的设计流程模型

Design Flow Step Tool / Workflow
Hardware Platform Creation Vivado
Create PetaLinux Project petalinux-create -t project
Initialize PetaLinux Project petalinux-config --get-hw-description
Configure System-Level Options petalinux-config
Create User Components petalinux-create -t COMPONENT
Configure the Linux Kernel petalinux-config -c kernel
Configure the Root Filesystem petalinux-config -c rootfs
Build the System petalinux-build
Package for Deploying the System petalinux-package
Boot the System for Testing petalinux-boot

根据以上步骤开始配置。

1、设置工作环境

2、创建工程
petalinux-create -t project --template zynq -n myZynq

完成后可以看到目录下新建了对应名称的文件夹,就是后面的工程目录。

3、配置 petalinux 工程
首次配置 Petalinux 工程是将 xsa 文件导入到 Petalinux 工程中, Petalinux 工具会解析 xsa文件并弹出配置窗口。 在终端中输入如下命令配置 Petalinux 工程:
petalinux-config --get-hw-description ../xsa/
进入到 ALIENTEK-ZYNQ 文件夹,并配置 petalinux 工程。

进入Image Packaging Configuration子菜单

第一个选项是根文件系统类型,INITRD 类型的根文件系统每次关机后,以前进行的所有修改掉电后就全部丢失了,重新启动还是之前未修改过的根文件系统,选择“ EXT4”可以将根文件系统放在 SD 卡、 eMMC 的 ext4 分区,这样启动系统后进行的所有修改掉电后就不会丢失了。

根据个人的操作进行修改,平台保存并退出后自动开始编译。

后面重新配置,只需输入“ petalinux-config”命令即可。

4、配置 Linux 内核
输入命令
petalinux-config -c kernel
等待较长一段时间后会弹出 Linux 内核的配置界面,修改后保存退出。

5、配置 Linux 根文件系统
输入命令
petalinux-config -c rootfs
弹出配置界面,修改后保存退出。

6、配置设备树文件
配置文件project-spec/meta-user/recipes-bsp/device-tree/files/system-user.dtsi

7、编译工程
输入命令
petalinux-build
该命令将生成设备树 DTB 文件、 fsbl 文件、 U-Boot 文件、 boot.scr 文件、 Linux 内核和根文件系统文件。 编译完成后,生成的镜像文件将位于工程的 images 目录下。

8、制作 BOOT.BIN 启动文件
编译完成后需要打包文件,让系统可以从SD卡启动。Petalinux 提供了 petalinux-package 命令将 PetaLinux 项目打包为适合部署的格式,“petalinux-package --boot” 命令生成可引导映像,Zynq系列设备可引导格式为 BOOT.BIN,一般包含 fsbl 文件、 bitstream 文件和 uboot 文件。 使用以下命令生成 BOOT.BIN 文件:
petalinux-package --boot --fsbl --fpga --u-boot --force
生成的 BOOT.BIN 文件放在 Petalinux 工程的 images/linux 目录下。

9、制作SD启动卡
将BOOT.BIN、 boot.scr 和 image.ub 文件拷贝到SD卡中,再以SD卡启动开发板,通过MobaXterm连接到开发板,可以命令行形式操作开启的Linux系统。

三、相关文件总结

1、boot.scr
通常是针对嵌入式系统的引导脚本文件,常见于使用 Xilinx FPGA 或 SoC 的嵌入式系统中。这个文件通常用于配置引导过程,例如设置引导参数、加载内核映像等。它是一个脚本文件,其中包含了一系列引导命令,以告诉系统如何引导。示例:
# 设置内核启动参数
setenv bootargs console=ttyPS0,115200 root=/dev/mmcblk0p2 rw rootwait

# 加载内核映像
mmc dev 0
fatload mmc 0 0x3000000 zImage

# 加载设备树
fatload mmc 0 0x2A00000 devicetree.dtb

# 引导内核
bootz 0x3000000 - 0x2A00000

2、image.ub
针对嵌入式系统的固件镜像文件,特别是针对使用 Xilinx Zynq 或 Zynq UltraScale+ SoC 的系统。这个文件通常包含了完整的系统镜像,包括引导加载程序(例如 U-Boot)、内核映像、设备树以及根文件系统等。

3、uboot.bin
一种二进制文件格式,通常用于直接在目标设备上进行引导,文件包含了 U-Boot 引导加载程序的二进制代码,以及必要的引导参数和设置。该文件通常通过 JTAG、SD 卡或者其他启动介质烧录到目标设备的存储器中,然后由引导 ROM 或者其他引导程序加载并执行。

4、u-boot.elf
一种 ELF(Executable and Linkable Format,可执行与可链接格式)文件,包含了可执行代码、数据以及调试信息,通常用于在开发环境中进行调试和仿真。
它可以通过连接调试器(如GDB)加载到目标设备或者仿真器中,并允许对 U-Boot 引导加载程序进行单步调试和分析。还可以包含符号表等调试信息,使开发者能够更好地理解代码的执行过程和进行故障排除。

posted @ 2024-04-09 22:58  CSUFT_NJU  阅读(1192)  评论(0)    收藏  举报