遇到的问题: 安装依赖
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
这里边有很多错误,比如build-essential -dev,没有安装gawk,没有安装gawk就运行.run文件就会出现如下报错
awk: read error (Bad address)
Please refer to the PetaLinux Tools Installation Guide.
Check the troubleshooting guide at the end of that manual, and if you are
unable to resolve the issue please contact customer support with file:
/media/document/Xilinx/Petalinux/petalinux_installation_log
./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...
亲测可用的安装依赖脚本如下
sudo dpkg --add-architecture i386
sudo apt update -y
sudo apt install --no-install-recommends -y gawk gcc make net-tools libncurses5-dev tftpd zlib1g-dev libssl-dev wget gcc-4.8 zlib1g:i386 python vim tofrodos iproute2 xvfb build-essential checkinstall libreadline-gplv2-dev libncursesw5-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev git make net-tools flex bison libselinux1 gnupg diffstat chrpath socat xterm autoconf libtool tar unzip texinfo gcc-multilib libsdl1.2-dev libglib2.0-dev screen pax gzip language-pack-en libtool-bin cpio lib32z1 lsb-release vim-common libgtk2.0-dev libstdc++6:i386 libc6:i386 expect file less rsync
sudo apt-get install -y iproute2 gcc g++ net-tools libncurses5-dev zlib1g:i386 libssl-dev flex bison libselinux1 xterm autoconf libtool texinfo zlib1g-dev gcc-multilib build-essential screen pax gawk python3 python3-pexpect python3-pip python3-git python3-jinja2 xz-utils debianutils iputils-ping libegl1-mesa libsdl1.2-dev pylint3 cpio
在网上看到一些反馈,说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
sudo mkdir -p /opt/pkg/petalinux/2019.1
sudo chown -R $(whoami):$(whoami) /opt/pkg/petalinux/2019.1/
./petalinux-v2019.1-final-installer.run /opt/pkg/petalinux/2019.1
按 q 退出协议内 或者按y 查看协议内容
在安装过程中会弹出 License,按“q”退出,然后按“y”同意
安装nfs:sudo apt-get install nfs-kernel-server
新建一个 work 目录做为 NFS 的一个工作目录,以后我们可以把交叉编译的程序放在这个目 录里,开发板可以很方便共享到这个目录里的文件
使用下面命令编辑/etc/exports 文件,配置 NFS 服务路径:sudo gedit /etc/exports
在尾部添加/home/alinx/work *(rw,sync,no_root_squash,no_subtree_check) ,配置 /home/alinx/work 目录为 NFS 的一个工作目录。
执行下面命令重启 rpcbind 服务。nfs 是一个 RPC 程序,使用它前,需要映射好端口,通过 rpcbind 设定,sudo /etc/init.d/rpcbind restart
执行下面命令重启 nfs 服务,sudo /etc/init.d/nfs-kernel-server restart
通过下面命令挂载 NFS,在本机将 NFS 工作路径挂载在/mnt 目录,127.0.0.1 就是本机 IP:sudo mount -t nfs 127.0.0.1:/home/alinx2020/work/ /mnt
进入/mnt,新建一个 test 目录测试一下,可以在/home/alinx/work 目录同步看到 test 文件夹,cd /mnt mkdir test
如果NFS 无法挂载,就请参考NFS挂载部分



