本文将参照UG1144_2018.3的Xilinx官方文档,安装petalinux2018.3。
首先,你要有一台Ubuntu虚拟机,官方文档中对虚拟机配置的要求如下:
1.官方推荐虚拟机分配内存为8GB(我16G内存分配了4G先试试,担心分配8G给虚拟机再开着vivado或者matlab会卡)。
2.官方推荐虚拟机分配100G硬盘(我按照官方的来的,为了腾出这100G硬盘,我删掉了GTA5,刚好100G的SSD,心在滴血!)。
注意
1.在Ubuntu中安装需要的软件包(required packages)的时候,必须是超级用户权限(root);
2.petalinux在安装的时候必须是非超级用户权限(non-root user)
安装完Ubuntu虚拟机以后,建议安装VMware Tools。教程自行百度,网上很多。
如果在安装过程中找不到VMware Tools,请参考我之前写过的一篇博客“找不到VMware Tools 安装包”的解决办法——安装VMware Tools”https://blog.csdn.net/Donggua_BIT/article/details/100740347
个人觉得这是petalinux2018.3安装过程中最难的一步,因为linux存在包依赖关系的问题(让人脑壳疼,尤其是像我这种刚开始接触linux的人)。很多库之间存在依赖关系,即要安装这个就必须安装那个。有时候,库之间依赖关系无法满足,你所要安装的程序就不能安装。这类问题大多是由于相互依赖的几个库中一个或多个的版本已经更新,而用户要安装的库依赖于这几个库的较低的版本。
刚开始没有按照官方的文档好好安装这些库,结果在后边运行.run文件安装petalinux的时候,就报错了。我觉得报错很正常,对于像我这种linux新人来说,很难一下把所有的库和软件包安装好,根据petalinux安装的时候的提示,把缺少的库和软件包安装好就行,缺啥补啥,问题不大。
file/computer/etc/apt,然后双击source.list
这里我换成了aliyun,choose server。
点击close,然后reload
至此,换源结束。
不!并没有结束!!!
还要把源更新一下…
sudo apt-get update
sudo apt-get upgrade
以下是所有需要安装的库:emmmm,怎么说呢,反正我是一次没能装完,后续安装petalinux的时候,会有提示缺少哪些库,问题不大。
看到官方文档UG1144_2018.3竟然直接给出了快速安装命令的时候我惊呆了,UG1144_2018.2里并没有这东西,果然xilinx的服务也是在逐渐优化的。(但是官方的安装命令是不全的,2333333)
各种库的安装命令如下:
sudo apt-get install -y gcc git make net-tools libncurses5-dev tftpd zlib1g-dev libssl-dev
sudo apt-get install -y flex bison libselinux1 gnupg wget diffstat chrpath socat xterm autoconf libtool tar unzip
sudo apt-get install -y texinfo zlib1g-dev gcc-multilib build-essential libsdl1.2-dev libglib2.0-dev zlib1g:i386
sudo apt-get install -y screen pax gzip
在Ubuntu中默认的为dash,因为dash更快、更高效。Ubuntu在启动的时候会运行很多shell脚本,使用dash可以加快启动速度。但是官方文档要求将dash调为bash。
命令为sudo dpkg-reconfigure dash
这里官方给出来的命令并没有错,输入上条命令,就会提示选择yes or no。选no
(至于为什么要切换到bash,我没有花时间去考虑过,毕竟自己是linux新手,但是欢迎大家留言解答,共同进步。)
为此,需要先从xilinx官网下载petalinux 2018.3 installer ,附上链接petalinux 2018.3 installer(TAR/GZIP - 6.79 GB)
没有xilinx账号的少年可能得先注册一个xilinx账号了,并不麻烦。
(吐槽一下,就是我在下载这个petalinux 2018.3 installer的时候,拿迅雷试过,下载下来的文件格式不对;拿firefox下载试过,也不行,7G的东西下了半天,结果下载下来的.run文件只有1KB…不知道是不是只能用GOOGLE或者IE下载。最终我是用Microsoft Edge内置的下载器下载的…是真滴慢,下了大半天。)
下载好了以后,我是把文件通过共享文件夹放到虚拟机里的,应该也可以直接复制粘贴从windows下直接搞到ubuntu虚拟机里,无论这两者那种方法,都得先安装一个VMware Tools,这东西真的很好用。
1.“虚拟机——设置——选项”,选择总是启用,然后添加共享文件夹的路径(就是你想在windows下想把共享文件夹放在哪个盘什么文件夹下)
至此,共享文件夹就建好了。
2.在虚拟机下能够看到这个文件夹。在Ubuntu的home/mnt/hgfs目录下能够看到创建的共享文件夹sharefolder。
3.在windows下把下载好的petalinux-v2018.3-final-installer.run文件复制粘贴到windows下的sharefolder里边。
4.在Ubuntu的home/mnt/hgfs目录下能够看到创建的共享文件夹sharefolder里的.run文件
至此,就把下载的petalinux-v2018.3-final-installer.run文件导入了ubuntu虚拟机。
继上一步注册完xilinx账号,下载7G的.run文件,并搞到虚拟机里以后(这些全是时间成本呀,尤其是下载7G的东西…我下了三遍,耗时两天= =)
UG1144_2018.3如下。
1.首先利用linux的mkdir命令,创建一个目录(目录可以自己自定义,我是创建到在home下创建了一个文件夹)
mkdir -p ~/petalinux
2.把.run文件copy到创建的目录下。
3.权限问题
如下图可以看到,官方文档UG1144_2018.3中,提示不必须以普通用户的身份安装petalinux 2018.3,而且安装目录的权限要求为755。
(至于权限的话,我百度了解了一下。具体如下)
(具体的权限是由数字来表示的,读取的权限等于4,用 r 表示;写入的权限等于2,用 w 表示;执行的权限等于1,用 x 表示)
(常用的linux文件权限比如744 rwxr–r-- 755 rwxr-xr-x 777 rwxrwxrwx;从左至右,1-3位数字代表文件所有者的权限,4-6位数字代表同组用户的权限,7-9数字代表其他用户的权限。)
**我们可以用ls命令查询下权限。**首先cd到home目录下,然后查询创建的petalinux文件夹的权限,可见为775(rwx rwx r_x)
cd ~
ls -l
我们用chmod命令将文件夹的权限设定为777,然后用ls-l命令查看xilinx文件夹权限确实为777(rwx rwx rwx),xilinx显示为绿色文件夹。
sudo chomd 777 xilinx
ls -l
我是先cd到petalinux-v2018.3-final-installer.run的目录下,然后输入指令安装
cd ~/petalinux
./petalinux-v2018.3-final-installer.run
然后问题接踵而至= =(脑壳疼)
第一步:问题一:运行petalinux-v2018.3-final-installer.run文件以后的首个问题,如下图…
我百度了一下,是因为ubuntu缺少gawk库(or 软件包?)
然后回头看了一下UG1144的官方文档,明明白白的写着需要gawk。然后再看文档给出来的sudo apt-get install指令集里边并没有gawk??????what ???
查了一下好像是ubuntu的原因。。。
解决方法如下:
sudo apt-get install gawk
然后就解决了。
第二步:重新运行.run文件,再次安装。
cd ~/petalinux
./petalinux-v2018.3-final-installer.run
碰到了问题二,如下图
问题2:如图,好多的库或者软件包没有安装。
解决方法如下(我是一个一个安装的,安装的图就不都贴出来了。)指令如下。
sudo apt-get install chrpath
sudo apt-get install socat
sudo apt install autoconf
sudo apt-get install libtool
sudo apt-get install texinfo
sudo apt-get install gcc-multilib
sudo apt-get install libsdl1.2-dev
sudo apt-get install libglib2.0-dev
sudo apt-get install zlib1g:i386
第三步:再次输入指令安装
cd ~/petalinux
./petalinux-v2018.3-final-installer.run
可以看到有一个warning,缺少tftp服务。查看UG1144_2018.3
大致意思就是,缺少这个TFTP service。 “如果没有TFTP服务,就不能使用U-Boot network/TFTP功能将Linux系统映像下载到目标系统”。
emm…既然是warning那就可以以后再说。
第四步:天呐!终于安装结束了。
可以看到,安装完petalinux2018.3以后,ubuntu虚拟机的文件夹占用了42个G。
第一步:确保为bash,这在前边已经做过了。
第二步:执行source命令,因为我安装的位置是home/petalinux目录下,所以在这可以找到settings.sh文件。(linux中.sh文件是脚本文件,一般都是bash脚本)
source ~/petalinux/settings.sh
第三步:输入echo $PETALINUX
,可以看到petalinux的安装路径。至此,安装结束。
**第四步:**用ls -a
命令,可以看到home下有隐藏的文件.bashrc文件。
修改 ~/.bashrc 这个文件,在最后加上 $ source ~/petalinux/settings.sh
.bashrc 是终端的初始化配置脚本,每次打开新的终端,都会执行这个脚本,把环境变量配置脚本加在里面,就能在打开的时候自动配置了。
难点就在于要求的库和软件包的安装,但是耐下心来根据提示,把缺少的库都装好就可以了。毕竟有谷歌和百度在。
最后,祝大家中秋节快乐!作为一个linux小白,花了三到四天时间终于把petalinux装好了,主要还是linux的操作太生疏,果然官方文档一开始建议“有一定的linux操作基础”是很必要的。
如果有什么问题,欢迎大家批评指正,尤其是linux的一些指令,觉得可以精简一下。