保姆级教程:在Ubuntu 16.04上为矿卡EBAZ4205安装Petalinux 2017.4(含避坑指南)
矿卡EBAZ4205的Petalinux开发环境搭建全攻略
1. 环境准备与系统配置
在开始Petalinux的安装之前,确保你的开发环境已经准备就绪。对于EBAZ4205矿卡的开发,推荐使用Ubuntu 16.04.6 LTS作为基础操作系统,这是经过验证与Petalinux 2017.4兼容性最好的Linux发行版。
硬件要求:
- 至少4核CPU
- 8GB以上内存
- 100GB以上硬盘空间(Petalinux安装包本身就需要近8GB空间)
虚拟机配置要点:
- 使用VMware Workstation或VirtualBox创建虚拟机
- 分配至少4个CPU核心和8GB内存
- 硬盘空间建议分配50GB以上(采用动态分配方式)
- 启用虚拟化加速选项(如Intel VT-x/AMD-V)
安装Ubuntu 16.04.6时,选择"最小安装"选项,并取消勾选所有不必要的软件包。安装完成后,执行以下系统更新:
sudo apt update sudo apt upgrade -y注意:Ubuntu 18.04及以上版本在安装Petalinux 2017.4时会出现各种兼容性问题,包括但不限于locale设置错误、依赖包冲突等,强烈建议使用Ubuntu 16.04.6 LTS。
2. 安装必要依赖包
Petalinux的正常运行需要大量系统依赖包的支持。以下是经过验证可在Ubuntu 16.04.6上完美支持Petalinux 2017.4的依赖包列表:
sudo apt install -y \ make net-tools libncurses-dev zlib1g:i386 \ flex libssl-dev bison libselinux1 gnupg \ wget diffstat chrpath socat xterm autoconf \ libtool tftpd unzip texinfo zlib1g-dev \ gcc-multilib build-essential gzip pax \ screen gawk tofrodos xvfb python git \ libsdl1.2-dev libglib2.0-dev依赖包安装完成后,建议重启系统以确保所有变更生效:
sudo reboot3. Petalinux安装过程详解
3.1 获取安装文件
Petalinux 2017.4的安装文件名为petalinux-v2017.4-final-installer.run,可以从Xilinx官网下载。确保下载的文件MD5校验值为9b406fa5cc732da52944b3ce6718e19d。
将下载的安装文件放置在用户目录下(如/home/username/),并赋予执行权限:
chmod +x petalinux-v2017.4-final-installer.run3.2 执行安装
Petalinux不能在root权限下安装,这是新手常犯的错误。直接以普通用户身份运行安装程序:
./petalinux-v2017.4-final-installer.run /opt/pkg/petalinux/2017.4安装过程中需要注意以下几点:
- 安装目录权限:确保目标目录(如
/opt/pkg/petalinux/2017.4)具有正确的权限(755) - 安装过程:安装程序会依次进行以下步骤:
- 校验安装包完整性
- 解压文件
- 显示并确认三个许可协议
- 执行实际安装
- 安装时间:完整安装可能需要15-30分钟,取决于系统性能
提示:如果安装过程中断,可以重新运行安装程序,它会自动从断点继续。
3.3 环境配置
安装完成后,需要配置环境变量才能使用Petalinux工具。进入安装目录并执行:
source settings.sh验证安装是否成功:
petalinux-<TAB><TAB>如果看到一系列Petalinux命令的自动补全,说明安装成功。
为了方便使用,可以将环境配置添加到用户的.bashrc文件中:
echo "source /opt/pkg/petalinux/2017.4/settings.sh" >> ~/.bashrc4. 常见问题解决方案
在Petalinux安装和使用过程中,可能会遇到各种问题。以下是针对EBAZ4205矿卡开发中最常见问题的解决方案:
问题1:Ubuntu 18.04下的locale错误
ERROR: Failed to source settings.sh: Please install en_US.UTF-8 locale first解决方案:在Ubuntu 16.04上不会出现此问题。如果必须使用Ubuntu 18.04,可以尝试以下命令:
sudo locale-gen en_US.UTF-8 sudo update-locale LANG=en_US.UTF-8问题2:安装依赖包时出现冲突
解决方案:确保使用的是Ubuntu 16.04.6 LTS,并按照本文提供的依赖包列表安装。
问题3:Petalinux命令找不到
解决方案:确保已正确执行source settings.sh,并检查安装目录是否正确。
问题4:安装过程中磁盘空间不足
解决方案:Petalinux安装需要大量临时空间,确保/tmp分区有至少10GB可用空间。
5. 工程创建与配置技巧
成功安装Petalinux后,就可以开始为EBAZ4205创建工程了。以下是创建和配置工程的关键步骤:
- 创建工程:
petalinux-create --type project --template zynq --name EBAZ4205-linux- 导入硬件描述:
将Vivado生成的.hdf文件复制到工程目录,然后执行:
petalinux-config --get-hw-description=./- 工程配置要点:
- 设置启动介质(TF卡或NAND Flash)
- 修改Uboot环境变量
- 配置内核参数
- 设置文件系统类型
对于EBAZ4205矿卡,特别需要注意网络和存储设备的配置:
| 配置项 | 推荐值 | 说明 |
|---|---|---|
| 网络接口 | ENET0 (EMIO) | 矿卡网口通过EMIO连接 |
| 存储介质 | primary sd | 开发阶段建议使用TF卡启动 |
| 文件系统类型 | INITRAMFS | 简化初始开发环境 |
| Uboot延迟 | 2秒 | 减少启动等待时间 |
- 编译工程:
petalinux-build编译完成后,生成的镜像文件位于images/linux/目录下,主要包括:
BOOT.BIN:包含FSBL、比特流和Ubootimage.ub:包含设备树、内核和根文件系统
6. 镜像烧录与验证
根据选择的启动介质不同,烧录方法也有所区别:
TF卡启动方式:
- 将TF卡格式化为FAT32文件系统
- 复制
BOOT.BIN和image.ub到TF卡根目录 - 将矿卡设置为SD启动模式
- 插入TF卡并上电
NAND Flash启动方式:
- 修改工程配置为
primary flash - 重新编译工程
- 使用Xilinx SDK通过JTAG烧录镜像
- 将矿卡设置为NAND启动模式
- 上电启动
启动成功后,通过串口终端应该能看到Linux启动日志,默认用户名和密码都是root。
提示:首次从NAND启动时,可能会看到CRC校验错误的警告,只需在Uboot命令行执行
saveenv命令保存环境变量即可解决。
7. 开发效率提升技巧
为了提高EBAZ4205上的Linux开发效率,以下是一些实用技巧:
网络调试:
- 在Uboot中启用ping和tftp命令
- 配置静态IP地址避免每次启动都要重新设置
快速编译:
petalinux-build -c kernel -x compile petalinux-build -c rootfs -x compile自定义根文件系统:
- 添加常用工具(vim, gdb, strace等)
- 配置SSH服务方便远程登录
日志管理:
- 配置内核日志级别
- 使用
dmesg -w实时查看内核日志
性能优化:
- 调整CPU频率
- 优化内存使用
- 启用zram交换压缩
通过以上步骤和技巧,你应该已经成功在Ubuntu 16.04上为EBAZ4205矿卡搭建了完整的Petalinux开发环境。在实际项目中,可能还会遇到各种具体问题,这时候Xilinx官方文档和开发者社区将是宝贵的资源。
