**
Ubantu16.04.6下使用petalinux2020.1定制Linux系统
**
版本:2020.1
Ubantu版本:16.04.6(其他版本也行,具体看UG-1144对应版本支持的操作系统版本)
官方指南:UG1144 - PetaLinux Tools Documentation: Reference Guide (v2020.1)
开发板:ALINX的AXU2CGB
以下操作前提是已经安装好Vitis软件和Petalinux工具(2020.1版本)
- 在用户目录下,创建一个工作目录
mkdir -p ~/peta_prj/linxPsBase/hardware - 将vivado生成的硬件描述文件xsa拷贝进hardware文件夹下
- cd ~/peta_prj/linxPsBase/
- 设置petalinux运行的环境变量(具体路径看你petalinux安装的位置)
source /opt/pkg/petalinux/settings.sh - 创建 petalinux 工程,使用 zynqMP 模板(AXU2CGB使用的是Zynq UltraScale+ MPSoCs CG系列的芯片,使用的 zynqMP 模板,不同芯片使用的模板不一样,根据自己的实际情况选择)
petalinux-create -t project -n petalinux --template zynqMP - cd ~/peta_prj/linxPsBase/petalinux
- 配置 Petalinux 工程的硬件信息
petalinux-config --get-hw-description …/hardware/ - 弹出工程配置项界面,如下图,在“Auto Config Settings”选项中勾选“Device tree autoconfig”、“kernel autoconfig”“u-boot autoconfig”,然后“Save”、接着“Exit”
Yocto Settings 本地化设置(Petalinux生成内核镜像过程中,需要从默认的服务器下载大量库,网络不佳经常会编译失败)
需要下载的文件:1、aarch64 sstate-cache 2、Downloads
(下载完成后解压两个压缩包:sudo tar -zxvf *.tar.gz -C 指定目录名 )
Yocto Settings 本地化设置文件下载链接
进入“Yocto Settings ”选项,找到“Add pre-mirror url”(路径要以 file:// 开头)
进入“Yocto Settings ”选项,找到“Local sstate feeds settings”
设置 Enable Network sstate feeds 不使能
- 修改设备树
进入到peta_prj/linxPsBase/petalinux/project-spec/meta-user/recipes-bsp/device-tree/files 的system-user.dtsi,添加设备树节点。 - 开始编译
petalinux-build
- 生成BOOT文件
进入文件目录 cd ~/peta_prj/linxPsBase/petalinux/images/linux
打包文件 petalinux-package --boot --u-boot --fpga --force
编译完成之后将BOOT.bin、boot.scr 及 image.ub 拷贝入 SD 卡
- 将开发板设置为SD卡启动(默认用户和密码都是root)