一、简介
在Zybo上移植PetaLinux。 Ubuntu 20.04 Vivado 17.4
二、创建vivado工程
新建Vivado工程“linux_base”,或者从黑金的开发板资料AX7010_2017.4.1\course_s4_linux.zip\vivado.zip中复制过来。 工程框图如下:  1)编译生成bit文件 2)导出硬件信息 3)在Vivado的工程目录下会有一个linux_base.sdk的目录,下面有一个design_1_wrapper.hdf文件,这个文件包含了PetaLinux使用的文件。
三、创建PetaLinux工程
3.1 建立工程文件夹
把linux_base.sdk目录复制到Ubuntu系统的~/Documents/prj_peta文件夹下,如果没有,可以创建一个。
3.2 设置环境变量
设置Vivado和PetaLinux环境变量,
cd ~/Documents/prj_peta/
source /opt/pkg/petalinux/settings.sh
source /mnt/workspace/Xilinx/Vivado/2017.4/settings64.sh

3.3 创建PetaLinux工程
创建PetaLinux工程,名为zybo_peta
petalinux-create --type project --template zynq --name zybo_peta
进入PetaLinux工作目录
cd zybo_peta

3.4 配置硬件信息
配置PetaLinux工程的硬件信息,
petalinux-config --get-hw-description ../linux_base.sdk
在弹出的窗口完成相关配置,在本实验中使用默认配置,直接保存设置即可。 保存后退出配置界面,等待一段很长的时间就完成了。 
3.5 配置Linux内核
1)使用如下命令配置内核
petalinux-config -c kernel
 2)等待一段时间后弹出配置内核的界面,直接保存配置后退出。 
3.6 配置根文件系统
使用如下命令配置根文件系统,弹出配置界面后直接保存并退出
petalinux-config -c rootfs

3.7 编译
使用如下命令配置编译uboot、内核、根文件系统和设备树等。
petalinux-build

5.8 生成BOOT文件
petalinux-package --boot --fsbl ./images/linux/zynq_fsbl.elf --fpga --u-boot --force

5.9 测试Linux
将工程目录images->linux中的BOOT.BIN和image.ub复制到sd卡的FAT分区。然后插到zybo开发板上,设置开发板的启动方式为sd卡启动。打开终端,启动开发板,登录名和密码都是root。 
四、使用到的命令行
cd ~/Documents
mkdir prj_peta
cp -r (yourpath)/linux_base.sdk prj_peta
mkdir zybo_peta
cd zybo_peta/
petalinux-config --get-hw-description ../linux_base.sdk
petalinux-config -c kernel
petalinux-config -c rootfs
petalinux-build
petalinux-package --boot --fsbl ./images/linux/zynq_fsbl.elf --fpga --u-boot --force
|