提示:關于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的安裝地址,就說明安裝成功。