1.安装环境说明
本文安装环境为VM14.1.1 + ubuntu16.04_64 + petalinux_2017.4 ,流程按照ug1144(v2017.3)文档进行讲解。
1.1 petalinux_2017.4下载
选择下面所示的下载,最后下载完成为petalinux-v2017.4-final-installer.run
1.2 安装系统要求
安装xilinx的软件最好按照离此版本软件最近的文档配置,说实话xilinx软件兼容性做的太差了,升级也比较频繁
xilinx文档最新的一般比以前思路写的清晰一点,比如ug1144(v2018.2) 比 v2017.3的文档结构好多了,条理更加清晰
注意:我用ubuntu16.04_32出现下面问题,最后换成64位的后未出现该现象
INFO: Checking installer checksum...
INFO: Extracting PetaLinux installer...
INFO: Installing PetaLinux...
./petalinux-v2017.4-final-installer.run: line 131: /tmp/tmp.s7OI9xMVBo/petalinux-v2017.4- final/tools/common/petalinux/utils/petalinux-install: cannot execute binary file: Exec format error
xilinx给出的可能的原因:
2.安装依赖库
按照ug1144要求进行apt-get下载安装,当然,本文只介绍与安装过程相关的依赖文件,至于编译过程相关的,再以后介绍
eg:python3.4.0,本文就没安装,此依赖文件只与编译过程中的.py文件解析有关 (ubuntu16.04默认的为2.7)
2.1 更换apt-get源,加快安装速度
$ su
# cd /etc/apt
# cp sources.list sources.list.bak
# vim sources.list
将文件内容换成以下内容:
deb-src http://archive.ubuntu.com/ubuntu xenial main restricted #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial main restricted multiverse universe #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted multiverse universe #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates universe
deb http://mirrors.aliyun.com/ubuntu/ xenial multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse #Added by software-properties
deb http://archive.canonical.com/ubuntu xenial partner
deb-src http://archive.canonical.com/ubuntu xenial partner
deb http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted multiverse universe #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial-security universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-security multiverse
wq 保存退出,然后执行下面操作:(本文实际安装过程中,并未更换源,网速快,就是任性)
再shell命令行中执行sh: # ./petalinux_install_env.sh 安装所需的依赖文件
1 #!/bin/bash
2
3 echo
4 echo "/*******************************/"
5 echo "/* 重新载入软件包信息... */"
6 echo "/* Reload... */"
7 echo "/*******************************/"
8 sudo apt-get update
9
10 #安装petalinux所需的软件环境
11 echo
12 echo "/*********************************/"
13 echo "/* 安装开发包... */"
14 echo "/* Setup the develop packages... */"
15 echo "/*********************************/"
16
17 sudo apt-get install --force-yes -y tofrodos
18 sudo apt-get install --force-yes -y iproute
19 sudo apt-get install --force-yes -y gawk
20 sudo apt-get install --force-yes -y xvfb
21 sudo apt-get install --force-yes -y git
22 sudo apt-get install --force-yes -y make
23 sudo apt-get install --force-yes -y net-tools
24 sudo apt-get install --force-yes -y libncurses5-dev
25 sudo apt-get install --force-yes -y zlib1g:i386
26 sudo apt-get install --force-yes -y libssl-dev
27 sudo apt-get install --force-yes -y flex
28 sudo apt-get install --force-yes -y bison
29 sudo apt-get install --force-yes -y libselinux1
30 sudo apt-get install --force-yes -y gnupg
31 sudo apt-get install --force-yes -y wget
32 sudo apt-get install --force-yes -y diffstat
33 sudo apt-get install --force-yes -y chrpath
34 sudo apt-get install --force-yes -y socat
35 sudo apt-get install --force-yes -y xterm
36 sudo apt-get install --force-yes -y autoconf
37 sudo apt-get install --force-yes -y libtool
-- INSERT --
依赖库安装完成后还需注意的点:
1. 启动tftp服务器
说明下本文用的tftp-hpa,它是tftp的爸爸,当然你也可以用儿子,下面是tftp-hpa的配置
https://mp.youkuaiyun.com/postedit/84582035
注意配置的目录为/tftpboot,因为petalinux-build编译完成后,会拷贝镜像到/tftpboot
不启动安装会出现以下错误:
No tftp server found - please refer to "PetaLinux SDK Installation Guide" for its impact and solution
2. 修改/bin/sh为bash,因为ubuntu默认的“/bin/sh”是dash
petalinux安装完成后,运行里面的sh脚本时会出现问题:
从上面还可以看出点:ps根本未显示出此时真正的shell,echo $SHELL 也不行
用下面方法验证:
mk@mk-virtual-machine:~/petalinux_2017.4$ ls -al /bin/sh
lrwxrwxrwx 1 root root 4 12月 11 00:51 /bin/sh -> dash
设置shell为bash,输入以下命令:
mk@mk-virtual-machine:~/petalinux_2017.4$ sudo dpkg-reconfigure dash
Removing 'diversion of /bin/sh to /bin/sh.distrib by dash'
Adding 'diversion of /bin/sh to /bin/sh.distrib by bash'
Removing 'diversion of /usr/share/man/man1/sh.1.gz to /usr/share/man/man1/sh.distrib.1.gz by dash'
Adding 'diversion of /usr/share/man/man1/sh.1.gz to /usr/share/man/man1/sh.distrib.1.gz by bash'
注意点:不要把sudo dpkg-reconfigure dash 笔误写成bash了,不然会出现下面现象:
mk@mk-virtual-machine:~/petalinux_2017.4$ sudo dpkg-reconfigure bash
update-alternatives: using /usr/share/man/man7/bash-builtins.7.gz to provide /usr/share/man/man7/builtins.7.gz (builtins.7.gz) in auto mode
验证:
3.不要用root权限去安装petalinux
4.安装源文件所在的目录需要有访问权限,因为会在该目录下生成安装log文件
5.安装目录也需要权限,最后chmod 777 安装目录
注意以上点,安装基本没有问题
3.安装过程
出现license直接q,然后选择y
安装完成截图:
4.验证与配置
运行petalinux安装完成后该根目录的sh脚本,检查是否安装正常
配置到用户环境中去:
$ gedit ~/.bashrc
#在最后一行增加
source /home/mk/petalinux_2017.4/settings.sh
#关闭网络连接功能
petalinux-util --webtalk off
新建终端:
5.总结
参考文章: