1、前期准备
1)Xilinx提供的手册《ug1144-petalinux-tools-reference-guide_chn》,该文档有说明petalinux版本支持的平台,本次使用的Ubuntu16.04
2)Petalinux配置比较苛刻,所以这次是在docker中配置的,因此需要安装docker环境
2、安装过程
1)安装需要的依赖包
Ug1144中文件给出了具体安装命令,如下所示:
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 -dev zlib1g:i386 screen pax gzip
但是该命令会报错。所以现在提供改进的命令(经过实际测试的)
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 python gawk cpio screen pax gzip
sudo dpkg --add-architecture i386
sudo apt update -y
sudo apt-get install zlib1g:i386
2)修改语言设置(petalinux build的时候要求语言环境为en_US.UTF-8)
sudo apt-get install locales
sudo dpkg-reconfigure locales
sudo locale-gen en_US.UTF-8
sudo update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8
echo "export LANG=en_US.UTF-8" >> ~/.bashrc
3)开始安装
sudo mkdir -p /opt/pkg/petalinux/2019.2
sudo chown -R 1000:1000 /opt/pkg/petalinux/2019.2/(1000的在后面有讲解)
./petalinux-v2019.2-final-installer.run /opt/pkg/petalinux/2019.2
3、安装过程问题解决
1)./petalinux-v2019.1-final-installer.run:line 140: /tmp/tmp.Yb9CRyCRaW/petalinux-env-check: No such file or directory ERROR: Failed to extract Petalinux installer...
这个是因为没有安装gawk依赖包
2)按照安装过程log文件,一般是缺少依赖包,只要安装对应的依赖包就可以
3)tar: .: Cannot utime: Operation not permitted tar: .: Cannot change mode to rwxrwxr-x: Operation not permitted
这个问题是由于安装目录的权限不对。一般使用之前的命令chown -R 1000:1000 /opt/pkg/petalinux/2019.2/之后,这个问题一般就不会出现
4)Docker里面安装petalinux-v2019.2-final-installer.run时会报不能使用root用户进行操作,ug1144中有明确说明该文件不能使用root命令安装,但是docker中启动默认都是root,所以在其中容器是应该需要使用普通用户,应使用命令docker exec -u参数,如果直接输入普通的用户名,比如niuniu会报识别不到。这是可以在/etc/passwd文件中查看普通用户的ID号,使用ID进行登录。
Docker登录命令如下
整个过程截图
4、设置环境
执行安装目录下的setting.sh,即source setting.sh,这时会出现下面的打印信息
第一个warning :bin/sh is not bash!出现时需要执行dpkg-reconfigure dash,出现选项是选择no就可,再执行source setting.sh就不会有第一个warning。
审核编辑:汤梓红
全部0条评论
快来发表一下你的评论吧 !