1.参考文件及压缩包
ug1144-petalinux-tools-reference-guide_v2018.3
ubuntu版本使用UG1144中使用的16.04版本,尝试使用22.04版本安装petalinux,执行build时,会出现无法读取gcc版本号的问题,暂时没找到解决方法.
2.安装vivado2018.3
vivado与petalinux版本必须一致,因为不同版本vivado生成的hdf文件有差异;
安装:解压vivado压缩包后,直接执行./xsetup就行,不需要root权限,安装目录可以放在/home下,其余过程与windows安装一致;
遇到问题:安装过程可能会卡住,可以参考Xilinx Customer Community,63794 - Install - What Ubuntu files are required for Vivado to run successfully? (xilinx.com)但一般是缺少依赖库 libtinfo5 libncurses5
直接执行sudo apt-get install libtinfo5 libncurses5
3.安装petalinux2018.3
(1)环境准备
sudo apt-get install -y gcc git make net-tools libncurses5-dev tftpd zlib1g-dev 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 zlib1g:i386 screen pax gzip
遇到问题:安装依赖库时网速慢,需要更新源,参考链接:Ubuntu软件更新更换源_51CTO博客_Ubuntu更换软件源
(2)安装配置petalinux
(1)安装petalinux
以下操作不用root权限:
mkdir -p /home/xxx/vivado/petalinux
./petalinux-v2018.3-final-installer.run /home/xxx/vivado/petalinux (不能用root权限)
遇到问题:注意,储问题后可查看petalinux_installation_log,重新执行安装时先删除petalinux_installation_log
1》awk: read error (Bad address)
可能是之前安装依赖库的时候出问题了,执行下面的命令重新安装就行:
sudo apt-get install -y gcc git make net-tools libncurses5-dev tftpd zlib1g-dev 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 zlib1g:i386 screen pax gzip gawk
2》WARNING: No tftp server found
(2)配置petalinux
执行进入petalinux安装目录,执行
source settings.sh(不需要root权限)
验证环境变量配置:
$ echo $PETALINUX
执行后会显示petalinux安装路径,但打开另一个终端时,再执行上面的命令发现路径为空,也就是说每次打开一个终端都需要执行一次source settings.sh,因需要在打开新终端时自动执行:
sudo gedit ~/.bashrc
在最后添加
source /home/xxx/vivado/petalinux settings.sh
这样每次打开终端就都会重新执行配置,但就是打开终端后需要等一会有点慢:
遇到问题:WARNING: /bin/sh is not bash! :
执行sudo dpkg-reconfigure dash,选择NO,按下enter
或者参考[SOLVED] linking /bin/sh to bash instead of dash