昨天由于自己的愚蠢,得重新安装 linux 系统[Ubuntu],这里记下重新安装的过程,方便下次犯蠢时用
Linux 系统: 16.4.3
Vivado 版本: 2017.4
Petalinux 版本: v2017.4
Linux-RT Processor-SDK 版本: V04.03.00.05
安装系统与虚拟机工具
开启 root 用户
sudo passwd root
软件列表更新
sudo apt-get update
安装 vim
sudo apt-get install vim
输入Y,继续
安装 gedit
sudo apt-get install gedit
安装 VMware-tools
cd /media/fpga[用户名]/VMware\ Tools/
mkdir -p /home/fpga/mnt
tar zxvf VMwareTools-10.3.10-12406962.tar.gz -C /home/fpga/mnt
cd /home/fpga/mnt/vmware-tools-distrib/
sudo ./vmware-install.pl
输入 yes,之后全部回车确认
修复 /bin/sh 指向 dash 而不是 bash 或其他支持的 shell 的错误
sudo dpkg-reconfigure -plow dash
选择 NO
ZYNQ 环境配置
安装 Linux 版 Vivado
sudo chmod +x xsetup
sudo ./xsetup
弹窗全部选择 "Ignore"
安装-FINISH
权限设置
sudo chmod 777 -R /opt/Xilinx/
sudo chmod 777 -R ~/.Xilinx/
安装下载器驱动
cd /opt/Xilinx/Vivado/2017.4/data/xicom/cable_drivers/lin64/install_script/install_drivers/
sudo ./install_drivers
测试 Vivado
启动 Vivado
source /opt/Xilinx/Vivado/2017.4/settings64.sh
vivado &
连接下载器到虚拟机
VM - Removable Devices - Future Devices Digilent USB Device - Connect
Petalinux 安装
安装必要的库
sudo apt-get install tofrodos gawk xvfb git libncurses5-dev tftpd zlib1g-dev zlib1g-dev:i386 \
libssl-dev flex bison chrpath socat autoconf libtool texinfo gcc-multilib \
libsdl1.2-dev libglib2.0-dev screen pax
配置 tftp server,如果不需要从 TFTP 启动,这一步可选
sudo -s
apt-get install tftpd-hpa
chmod a+w /var/lib/tftpboot/
reboot
安装 Petalinux
运行一下命令做安装准备
sudo -s
mkdir -p /opt/pkg/petalinux
chown <your_user_name> /opt/pkg/
chgrp <your_user_name> /opt/pkg/
chgrp <your_user_name> /opt/pkg/petalinux/
chown <your_user_name> /opt/pkg/petalinux/
exit
给安装文件添加运行权限,当然 petalinux-v2017.4-final-installer.run 这个文件要先复制到系统下
sudo chmod +x petalinux-v2017.4-final-installer.run
开始安装
./petalinux-v2017.4-final-installer.run /opt/pkg/petalinux/
按回车查看协议内容,按 q 退出协议内容,按 y 同意协议内容
在安装过程中会弹出 License,按“q”退出,然后按“y”同意
安装 NFS 服务
sudo apt-get install nfs-kernel-server
mkdir -p /home/fpga/work
配置 NFS 服务路径
sudo gedit /etc/exports
在尾部添加下行命令,配置 /home/fpga/work 目录为 NFS 的一个工作目录
/home/fpga/work *(rw,sync,no_root_squash,no_subtree_check)
重启 rpcbind 服务
sudo /etc/init.d/rpcbind restart
重启 nfs 服务
sudo /etc/init.d/nfs-kernel-server restart
测试 NFS
挂载 NFS,在本机将 NFS 工作路径挂载在 /mnt 目录
mount -t nfs 127.0.0.1:/home/fpga/work /mnt
进入/mnt,新建一个 test 目录测试一下,可以在/home/fpga/work 目录同步看到 test 文件夹
cd /mnt
mkdir test
TL-5728F 环境配置
安装 V04.03.00.05 版本 Linux-RT Processor-SDK
mkdir /home/fpga/AM57xx
cd /home/fpga/AM57xx
sudo ./ti-processor-sdk-linux-rt-am57xx-evm-04.03.00.05-Linux-x86-Install.bin
NEXT
安装界面选择路径为 "/home/fpga/ti-processor-sdk-linux-rt-am57xx-evm-04.03.00.05"
安装 -> FINISH
交叉编译工具链配置
sudo gedit /etc/profile
文件末尾添加此命令
export PATH=$PATH:/home/fpga/ti-processor-sdk-linux-rt-am57xx-evm-04.03.00.05/linux-devkit/sysroots/x86_64-arago-linux/usr/bin/
使能并重启
source /etc/profile
sudo reboot
安装 U-Boot 源码
mkdir -p /home/fpga/AM57xx/U-Boot/U-Boot-2017.01
cd /home/fpga/AM57xx
tar -zxvf u-boot-2017.01-gd3af627-v1.0.tar.gz -C U-Boot/U-Boot-2017.01/
清理 U-Boot
cd U-Boot/U-Boot-2017.01/
make CROSS_COMPILE=arm-linux-gnueabihf- ARCH=arm distclean
编译 U-Boot
sudo apt-get install device-tree-compiler
sudo apt-get update
进行 U-Boot 编译
make CROSS_COMPILE=arm-linux-gnueabihf- ARCH=arm am57xx_evm_defconfig all
编译完成后会在 U-Boot 源码目录下生成 U-Boot 镜像文件 MLO、 u-boot.img
U-Boot 环境变量还原与保存
进入 U-Boot 命令行后
env default -a
saveenv
使用更改后的 U-Boot 环境变量启动 Linux 系统
boot
Linux-RT-4.9.65 内核编译方法
安装 Linux-RT 内核源码
mkdir -p /home/fpga/AM57xx/kernel/Linux-RT-4.9.65
cd /home/fpga/AM57xx
tar -xvf linux-rt-4.9.65-gcaf89f0-v1.2.tar.gz -C kernel/Linux-RT-4.9.65/
cd /home/fpga/AM57xx/kernel/Linux-RT-4.9.65/
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- distclean
配置 Linux-RT 内核
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- tisdk_am57xx-evm-rt_defconfig
sudo apt-get install libncurses5-dev
输入 Y
安装依赖库后,执行如下命令启动 menuconfig 配置界面
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- menuconfig
可自选
编译设备树
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- tl5728f-evm.dtb
编译 Linux-RT 内核
sudo apt-get install lzop
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- zImage -j 4
编译完成后, 会在 Linux-RT 内核源码安装目录“arch/arm/boot”路径下生成内核镜像文件 zImage
编译模块 modules
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- modules -j 4
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- modules_install INSTALL_MOD_PATH=/media/fpga/rootfs/
extra 驱动编译
此处略