petalinux2024安装编译过程和命令简记

sudo mount  -t cifs -o username="ququ",password="123456"  //192.168.5.102/net-share-ubuntu  /home/ququ/share

sudo mount  -t cifs -o username="ququ",password="123456"  //192.168.5.201/net-share-ubuntu  /home/ququ/share
sudo umount /home/ququ/share

 新安装的ubuntu系统,需要设置su的密码
sudo passwd
ssh-keygen -R host

扩展磁盘 VM扩展后需要

parted 方法
resizepart 3 270GB

sudo lvextend -l +100%FREE  /dev/mapper/ubuntu--vg-ubuntu--lv
sudo resize2fs /dev/mapper/ubuntu--vg-ubuntu--lv

petalinux环境设置

sudo apt update
sudo apt upgrade

编译环境
https://adaptivesupport.amd.com/s/article/73296?language=en_US网页下载
sudo share/plnx-env-setup.sh
这个基本类似如下命令,安装一些编译环境。
sudo apt install iproute2 gawk python3 python build-essential gcc git make net-tools libncurses5-dev tftpd zlib1g-dev libssl-dev flex bison libselinux1 gnupg wget git-core diffstat chrpath socat xterm autoconf libtool tar unzip texinfo zlib1g-dev gcc-multilib automake zlib1g:i386 screen pax gzip cpio python3-pip python3-pexpect xz-utils debianutils iputils-ping python3-git python3-jinja2 libegl1-mesa libsdl1.2-dev pylint3
sudo apt install libtinfo5

修改 bash
Petalinux 工具需要主机系统的/bin/sh 是 bash,而 Ubuntu 默认的/bin/sh 是 dash,所以这里 需要进行更改,运行 sudo dpkg-reconfigure dash 命令,如下:
sudo dpkg-reconfigure dash
选择“NO”按下回车即可。

安装 petalinux
sudo chown -R $USER:$USER /opt
mkdir -p /opt/pkg/petalinux2024.2
chmod 0755 /opt/pkg/petalinux2024.2
chmod 0755 ./petalinux-v2024.2-final-installer.run 可以在share目录下用如下命令,所以这个不需要。
./share/petalinux-v2024.2-11062026-installer.run -d /opt/pkg/petalinux2024.2/
同意用户协义。

安装sstate-cache包和 downloads包
在使用Petalinux编译工程的过程中会从网上下载一些软件包,若网络不稳定会导致下载失败,从而无法完成工程编译,sstate-cache包和 downloads包中包含了Petalinux 编译工程时需要下载的各种软件包和库,将其分别解压到/opt/pkg/sstate_arm_2020.2和/opt/pkg/downloads2020.2目录中,后边配置Petalinux工程时将相应的url设置为包所在路径即可。
#解压sstate-cache包和downloads包,这里直接将其解压到petalinux安装目录中
tar -vxf sstate_arm_2024.2.tar.gz  -C /opt/pkg/petalinux2024.2
tar -vxf downloads_2024.2.tar.gz  -C /opt/pkg/petalinux2024.2

设置:
$ petalinux-config ---> Yocto Settings ---> Add pre-mirror url ---> file:///opt/pkg/petalinux2024.2/downloads
$ petalinux-config ---> Yocto Settings ---> Local sstate feeds settings ---> local sstate feeds url ---> /opt/pkg/petalinux2024.2/arm

setting up in the <plnx-proj-root>/project-spec/meta-user/conf/petalinuxbsp.conf file.
DL_DIR = "/opt/pkg/petalinux2024.2/downloads"
SSTATE_DIR = "/opt/pkg/petalinux2024.2/arm"

#进入安装目录
cd /opt/pkg/petalinux2020.2/
#设置Petalinux环境变量
source settings.sh
#验证下工作环境是否已设置,在终端输入如下命令:
echo $PETALINUX
显示 Petalinux 的安装目录,表明工作环境已设置。现在可以使用 Petalinux 工具了。
鉴于每次打开终端使用 Petalinux 都需要设置相应的环境变量,我们为了方便,将设置 Petalinux 环境变量的命令设置成别名,这样我们使用起来就方便些。设置别名方法的很简单, 在终端输入如下命令:
echo "alias sptl='source $PETALINUX/settings.sh'" >> ~/.bashrc
以后我们打开终端后,输入 sptl 就可以设置 Petalinux 的环境变量了,无需输入长长的路 径。sptl 的记忆法是 Source PeTaLinux 的环境变量。提醒:在使用 linux 的时候要善用别名但不要滥用别名。


Petalinux 定制 Linux 系统解决
将system_wrapper.xsa文件,拷贝到Windows与Ubuntu本地共享文件夹下并在Ubuntu系统用户根目录下创建了一个名为“petalinux”的目录,并在该目录下创建“xsa_7010”目录用于存放
mkdir -p ~/petalinux/xsa_7010
cp share/design_1_wrapper.xsa ~/petalinux/xsa_7010

设置 Petalinux 环境变量,参考Petalinux 环境安装
source /opt/pkg/petalinux2024.2/settings.sh
#或者
sptl

创建 petalinux 工程
cd ~/petalinux
petalinux-create -t project --template zynq -n AntMinerS9
petalinux-create project  --template zynq -n AntMinerS9

配置 petalinux 工程
cd AntMinerS9
petalinux-config --get-hw-description  ../xsa_7010/
图形界面选择。如果后面想重新配置,只需输入“petalinux-config”命令即可重新配置。如可自以为了硬件就加硬件输入.xsa 文件。

配置 Linux 内核
petalinux-config -c kernel

配置 Linux 根文件系统
petalinux-config -c rootfs

配置设备树文件
设备树的概念源自于 Linux 内核当中,当然其实在 U-Boot 当中也已经使用了。如果需要配置设备树,可以编辑当前 petalinux 工程目录下的 project-spec/meta-user/recipes-bsp/device-tree/files/system-user.dtsi 文件。
vi project-spec/meta-user/recipes-bsp/device-tree/files/system-user.dtsi
该文件需要我们自己手动配置。

编译 Petalinux 工程
petalinux-build

制作 BOOT.BIN 启动文件
petalinux-package --boot --fsbl --fpga --u-boot --force
选项“--fsbl”用于指定 fsbl 文件所在位置,后面接文件对应的路径信息,如果不指定文 件位置,默认对应的是 images/linux/zynqmp_fsbl.elf;选项“--fpga”用于指定 bitstream 文件所 在位置,后面接该文件对应的路径信息,默认对应的是 images/linux/system.bit,实际可能有区 别;选项“--u-boot”用于指定 U-Boot 文件所在位置,后面接该文件所在路径信息,默认为 images/linux/u-boot.elf。这里笔者均没有指定对应的文件的路径信息,那么 Petalinux 会自动使用默认文件。


SD卡分区挂载
sudo mkdir /media/SD/BOOT
sudo mkdir /media/SD/ROOTFS
 
sudo mount /dev/sdd1 /media/SD/BOOT
sudo mount /dev/sdd2 /media/SD/ROOTFS

sudo umount /media/SD/BOOT
sudo umount /media/SD/ROOTFS
 
sudo rm -rf /media/SD/BOOT
sudo rm -rf /media/SD/ROOTFS


sudo cp boot.scr BOOT.BIN image.ub /home/ququ/SD
sudo cp boot.scr BOOT.BIN image.ub BOOT
sudo tar zxvf rootfs.tar.gz -C /media/SD/ROOTFS/

linx 查看网速(百兆还是千兆)
ifconfig 
dmesg | grep eth0

petalinux安装的一些问题和解决
1,用Hyper-V虚拟机挺方便,内存4G,磁盘200G,太小后面有问题。
2,缺 libtinfo5 库
报错:error loading hsi package: couldn't load file "libxv_commontasks.so": libtinfo.so.5: cannot open shared object file: No such file or directory
解决:sudo apt install libtinfo5
3,设置使用local sstate,加速工程编译。这个最好参考AMD的文档,网上有点说明的不全。原文档有一些我没理解的路径设置。照做就好。这个最好设置一下,是因为国内网络都会有些问题,这也是需要大磁盘空间的原因,需要先下载download ,SSTate包。相当60G吧。试了用网络不下载包。报错让人心烦。
4,设备树报了一个nand相当的错误,可能是nand启动与SD启动的配置决突。让nand的设备树配置改成手工。实际是不在自动生成的文件中有相关内容。
单独编译设备树命令:petalinux-build -c device-tree
5,生成 SDK,SDK 可以作为应用程序开发的 sysroot 使用。
将SDK解压到指定目录。
petalinux-package sysroot -s|--sdk <custom sdk path> -d|--dir <custom directory path>
默认安装目录为:<proj_root>/images/linux/sdk/。
参考:
https://blog.csdn.net/DongDong314/article/details/142797627
https://blog.csdn.net/qq_32971095/article/details/133468006
https://blog.csdn.net/qq_37624854/article/details/137208771
https://blog.csdn.net/jin787730090/article/details/123921076

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值