提示:关于petaLinux2018.1及以前版本相关,均可参考Xilinx官方文档ug1144,官方文档很详细,这里只是记载我的一些经验。
一、配置环境及前置需求
首先是系统,我用的是Ubuntu16.04,更高版本应该也行。磁盘空间要大一些,不要不够用。
然后是安装依赖库,这个按官方文档ug1144就行了,在第二章。在这里要注意的是有些库会提示不存在,这是仓库源不合适,需要更换。
更换更新源步骤如下:
1、终端命令:s@ubuntu:~$ sudo gedit /etc/apt/sources.list
,打开sources.list。
2、将更新源添加到文件中。我用的是清华大学更新源,直接将以下内容复制粘贴到sources.list文件最底部就行。(也可以在网上找其他更新源,一搜就能搜到)
# deb cdrom:[Ubuntu 16.04 LTS _Xenial Xerus_ - Release amd64 (20160420.1)]/ xenial main restricted
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main restricted
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates main restricted
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial universe
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates universe
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security main restricted
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security universe
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security multiverse
安装依赖库的命令如下:
s@ubuntu:~$ sudo apt-get install tofrodos iproute2 gawk
在后续的安装及验证过程中,可能会出现警告“No tftp server found - please refer to "PetaLinux SDK Installation Guide" for its impact and solution”,这是tpfp库没安装好,可按以下步骤安装及验证:
//安装
s@ubuntu:~$ sudo apt-get install tftpd tftp openbsd-inetd
s@ubuntu:~$ sudo gedit /etc/inetd.conf
#在文件中增加以下内容(建议复制粘贴,以防有空格)
tftp dgram udp wait nobody /usr/sbin/tcpd /usr/sbin/in.tftpd /tftproot
#保存并退出
s@ubuntu:~$ sudo mkdir /tftproot
s@ubuntu:~$ sudo chmod 777 /tftproot
s@ubuntu:~$ sudo /etc/init.d/openbsd-inetd restart
s@ubuntu:~$ sudo netstat -an | more | grep udp
#看到有如下输出,即表示tftp安装成功
#这一步我的终端显示了多行下方格式的输出内容,注意看有没有0 0.0.0.0:69这个,只要有一般就成功了
#udp 0 0 0.0.0.0:69 0.0.0.0:*
接下来是修改bash,ug1144中说用到的/bin/sh命令是bash,而Ubuntu默认的/bin/sh是dash。修改步骤如下:
1、执行命令s@ubuntu:~$ sudo dpkg-reconfigure dash
2、在弹出的界面选“否”禁用dash,然后
s@ubuntu:~$ sudo ls -al /bin/sh
查看/bin/sh
3、会看到类似打印信息:
lrwxrwxrwx 1 root root 5 Jun 9 14:59 /bin/sh -> /bin/bash
二、安装过程
ug1144提到,安装库时需要root权限,安装软件时必须普通用户,普通目录下。网上的教程如下:(这也是ug1144的例程)
/直接在home目录下新建文件夹
s@ubuntu:~$ mkdir -p opt/pkg/petalinux1801
/千万不要使用root或者sudo
s@ubuntu:~$ ./petalinux-v2018.1-final-installer.run /home/pp/opt/pkg/petalinux1801
然而,第一步就不行,在home目录下新建文件夹需要权限,opt文件夹也一样,这与要求相悖。后来在网上查一种方法是先用root权限新建文件夹,再修改权限为755,然而在后续安装中也不行。最后选择在非root目录下新建文件夹安装,成功了。
查看文件夹是不是root目录的方法是:打开任意一个目录,在空白处右键,如果选项中“新建文件夹”不是灰色的,可以直接用,那么这个目录就是非root目录。
建好文件夹后,执行上述第二个命令,不要忘记将命令后面的安装文件夹地址修改成你新建文件夹的地址。
安装过程中总共只有3个y,打开license文档后可以按q关闭,小心不要按到Enter键终止安装。
三、验证
设置petaLinux工作环境s@ubuntu:~$ sudo source <安装文件夹下的settings.sh的地址>
验证s@ubuntu:~$ sudo echo $PETALINUX
如果命令下出现petaLinux的安装地址,就说明安装成功。