当前位置: 首页 > news >正文

Ubuntu18.04虚拟机300GB配置全攻略:Vivado2019.2+Vitis+Petalinux一站式安装

Ubuntu 18.04虚拟机300GB配置全攻略:Vivado 2019.2+Vitis+Petalinux一站式安装

对于FPGA开发者来说,搭建一个稳定高效的开发环境是项目成功的第一步。本文将带你从零开始,在Ubuntu 18.04虚拟机上配置300GB磁盘空间,并完整安装Xilinx工具链(Vivado 2019.2、Vitis和Petalinux),同时解决安装过程中的各种疑难杂症。

1. 虚拟机环境准备与优化

在开始安装Xilinx工具链前,合理的虚拟机配置至关重要。不同于简单的系统安装,FPGA开发对虚拟机性能有特殊要求。

1.1 虚拟机创建与磁盘分配

首先需要创建一个至少300GB磁盘空间的虚拟机。这个数字不是随意选择的——Vivado 2019.2完整安装约需要60GB,Petalinux一个工程就可能占用20GB以上,再加上系统本身和其他开发工具,200GB很快就会捉襟见肘。

推荐虚拟机配置参数:

  • 处理器:4核或以上(综合编译需要)
  • 内存:8GB起步(16GB更佳)
  • 磁盘:300GB动态分配(实际占用会随使用增长)
  • 网络:桥接模式(方便许可证验证)

注意:虽然可以使用动态分配磁盘,但建议初始设置时就分配足够空间,因为后期扩展虚拟机磁盘可能比想象中复杂。

1.2 Ubuntu 18.04系统安装要点

选择Ubuntu 18.04 LTS是因为它与Xilinx 2019.2工具链有最好的兼容性。安装时几个关键设置:

  1. 分区方案:

    • /根目录:至少100GB
    • swap交换分区:物理内存的1.5-2倍
    • /home:剩余所有空间
  2. 安装时勾选"安装第三方软件"选项,这会自动安装一些必要的驱动和编解码器。

  3. 完成安装后立即更新系统:

    sudo apt update && sudo apt upgrade -y

1.3 虚拟机增强工具与共享文件夹

高效的开发环境需要主机和虚拟机之间的无缝协作。安装VMware Tools或VirtualBox Guest Additions(根据你的虚拟机平台选择)可以实现:

  • 剪贴板共享
  • 自适应分辨率调整
  • 最重要的:共享文件夹功能

共享文件夹配置步骤:

  1. 在虚拟机设置中添加共享文件夹(如命名为Share
  2. 挂载共享文件夹到Ubuntu系统:
    sudo mkdir -p /mnt/hgfs sudo mount -t fuse.vmhgfs-fuse .host:/Share /mnt/hgfs -o allow_other
  3. 创建符号链接方便访问:
    ln -s /mnt/hgfs/Share/ ~/Share

2. 系统环境预配置

在安装Xilinx工具前,需要确保系统具备所有必要的依赖项。这一步经常被忽视,但却是避免后续问题的关键。

2.1 安装基础开发工具

首先安装编译和开发所需的基础工具链:

sudo apt install -y build-essential git cmake libncurses5-dev zlib1g-dev \ libssl-dev libselinux1 flex bison lib32z1 libgtk2.0-0 libxtst6 \ screen curl wget gawk python3 python3-pip

2.2 解决潜在的库冲突

Ubuntu 18.04默认安装的某些库版本可能与Xilinx工具不兼容,需要特别处理:

# 解决libtinfo问题 sudo ln -s /usr/lib/x86_64-linux-gnu/libtinfo.so.6 /usr/lib/x86_64-linux-gnu/libtinfo.so.5 # 安装兼容版本的libstdc++ sudo apt install -y libstdc++6

2.3 磁盘空间管理策略

即使分配了300GB空间,不当管理仍可能导致空间不足。建议采用以下策略:

  1. 为不同工具创建独立的安装目录:

    ~/Xilinx/ ├── Vivado ├── Vitis └── Petalinux
  2. 定期清理临时文件:

    sudo apt autoremove sudo rm -rf /tmp/*
  3. 使用符号链接将大目录(如工程文件)指向外部存储

3. Vivado 2019.2与Vitis安装详解

Xilinx已将Vivado和Vitis(原SDK)打包在一起,但仍需注意安装细节。

3.1 获取安装文件

从Xilinx官网下载统一安装包(约30GB),确保包含Vitis组件。下载完成后通过共享文件夹传输到虚拟机。

3.2 安装步骤与参数优化

解压并安装的完整流程:

# 创建安装目录 mkdir -p ~/Xilinx/Vivado # 解压安装包(假设放在Share目录) tar xvzf ~/Share/Xilinx_Vivado_2019.2_1106_2127.tar.gz -C ~/Downloads/ # 设置安装权限 chmod +x ~/Downloads/Xilinx_Vivado_2019.2_1106_2127/xsetup # 启动安装程序 ~/Downloads/Xilinx_Vivado_2019.2_1106_2127/xsetup

安装界面中的关键选择:

  1. 选择"Vivado HL WebPACK"版本(除非你有完整版许可证)
  2. 勾选以下组件:
    • Vivado
    • Vitis
    • DocNav
    • 必要的器件支持(根据你的FPGA型号选择)
  3. 安装目录设置为~/Xilinx/Vivado/2019.2

3.3 安装后配置

安装完成后,需要设置环境变量以便命令行访问:

echo "source ~/Xilinx/Vivado/2019.2/settings64.sh" >> ~/.bashrc source ~/.bashrc

验证安装是否成功:

vivado -version vitis -version

4. Petalinux安装与工程管理

Petalinux是Xilinx提供的嵌入式Linux开发工具,安装过程较为复杂,需要特别注意依赖关系。

4.1 准备工作

在安装Petalinux前,确保已安装以下软件包:

sudo apt install -y tofrodos iproute2 gcc-multilib libsdl1.2-dev \ libglib2.0-dev libtool autoconf texinfo zlib1g-dev gawk

4.2 安装Petalinux 2019.2

  1. 下载安装包(约2GB)并赋予执行权限:

    chmod +x petalinux-v2019.2-final-installer.run
  2. 创建安装目录并设置权限:

    mkdir -p ~/Xilinx/Petalinux/2019.2 chmod 755 ~/Xilinx/Petalinux
  3. 执行安装:

    ./petalinux-v2019.2-final-installer.run ~/Xilinx/Petalinux/2019.2

安装过程中需要:

  • 按Enter三次阅读协议
  • 输入"q"退出协议阅读
  • 输入"y"接受协议

4.3 环境配置与验证

安装完成后,配置环境变量:

echo "source ~/Xilinx/Petalinux/2019.2/settings.sh" >> ~/.bashrc source ~/.bashrc

验证安装:

petalinux-<TAB><TAB> # 应该显示所有可用命令

4.4 常见问题解决

问题1:缺少ncurses库

sudo apt install -y libncurses5-dev

问题2:gawk版本不兼容

sudo apt install -y gawk

问题3:32位库缺失

sudo apt install -y lib32z1 lib32ncurses5

5. 开发环境优化与维护

完成基本安装后,还需要进行一些优化配置,使开发环境更加高效稳定。

5.1 许可证配置

Xilinx工具需要有效的许可证文件。将许可证文件放在~/Xilinx/license.lic,然后设置环境变量:

echo "export XILINXD_LICENSE_FILE=~/Xilinx/license.lic" >> ~/.bashrc source ~/.bashrc

5.2 磁盘空间监控

定期检查磁盘使用情况,避免空间耗尽导致系统异常:

# 查看磁盘使用 df -h # 查找大文件 du -sh ~/* | sort -h

5.3 虚拟机快照策略

合理使用虚拟机快照可以在系统出现问题时快速恢复:

  1. 安装完成并验证后创建一个"Clean Install"快照
  2. 在开始新项目前创建项目专属快照
  3. 定期删除旧快照释放空间

5.4 性能优化技巧

  • 为虚拟机分配更多CPU核心加速编译
  • 增加虚拟机内存减少交换分区使用
  • 关闭不必要的图形效果
  • 使用命令行操作替代部分GUI操作

6. 实际工程中的经验分享

在多个FPGA项目中,我发现以下几点特别值得注意:

  1. 工程目录结构:保持清晰的目录结构能极大提高工作效率。我的典型项目结构:

    project/ ├── hw/ # Vivado工程 ├── sw/ # Vitis工程 ├── linux/ # Petalinux配置 └── doc/ # 文档
  2. 版本控制:虽然二进制文件很大,但至少应该对源代码和Tcl脚本进行版本控制。建议使用.gitignore过滤大文件。

  3. 编译时间优化:Vivado综合可能耗时数小时,可以尝试以下方法:

    • 使用增量编译
    • 在非工作时间启动长时间编译
    • 考虑使用云实例进行大规模编译
  4. 资源管理:定期清理不再需要的工程和中间文件,特别是Petalinux构建目录可能占用数十GB空间。

http://www.jsqmd.com/news/519309/

相关文章:

  • 从Tacotron到智能语音:端到端语音合成的原理、应用与未来
  • 《情报分析与研究》第三周课程笔记
  • 真的太省时间! 降AIGC工具 千笔·降AI率助手 VS 灵感风暴AI 全领域适配
  • ArcGIS数据驱动页面隐藏技巧:这样设置‘裁切’与‘排除图层’,让你的专题图效果提升一个档次
  • COMSOL求解计算流体力学中动压润滑方程组的2D模型案例
  • 从SMS网格到FVCOM:.grd与.2dm文件结构解析与海洋建模实战
  • 超声波探伤技术在工业检测中的前沿应用与创新突破
  • 计算机毕业设计springboot基于的地铁综合服务管理系统的设计与实现 基于SpringBoot框架的城市轨道交通运营服务平台设计与实现 基于Java技术的地铁乘客服务与内部协同管理系统开发
  • LeetCode 48 1886.矩阵旋转与判断
  • 1588v2协议实战:如何在工业自动化场景中实现纳秒级时间同步?
  • 别再乱用to_dict了!Pandas数据转换orient参数避坑手册(附场景对照表)
  • STM32入门(13)
  • AutoGen Manager-Broadcast机制详解:手把手教你配置多代理聊天组(含Python代码示例)
  • 字符串 I:border 理论 I
  • 计算机毕设 java基于微信小程序点餐系统的设计与实现 微信小程序智能点餐平台开发 基于 SpringBoot 的餐饮在线点餐系统设计
  • 避坑指南:WRF下垫面数据替换中的5个常见错误及解决方法(基于GDAL转换经验)
  • 从西工大网安导论出发:构建网络空间安全的知识体系与实践视角
  • Hyper-V虚拟机安装Deepin避坑指南:从镜像选择到循环安装解决
  • Flink内存管理实战:如何用堆外内存提升大数据处理性能(附配置参数详解)
  • 一、安装Redis(win11环境下)
  • MinIO 宣布彻底闭源后,RustFS “偷家”成功:二进制替换,一步完成平滑迁移!
  • 网络安全新手必看:Kill Chain攻击链的7个阶段详解与防御要点(2023最新版)
  • Carsim与Matlab/Simulink联合仿真:五次多项式实时规划在四车道直道场景的应用
  • 生成引擎优化GEO提升内容创作价值与用户体验协同发展的新路径
  • 2026.3 ~ 2026.4
  • 5G小基站开发实战:用XC7Z100+ADRV9009搭建双收双发射频板卡(附完整配置流程)
  • crewAI CLI 与项目结构:从原型到生产的工程化规范
  • 荣耀云调试实战:如何用免费真机资源搞定多机型兼容性测试
  • crewAI 可观测性体系:Langfuse/Phoenix 集成与执行链路追踪
  • 计算机毕设 java基于微信小程序奶茶点单系统设计与实现 微信小程序智能奶茶点单平台开发 基于 SpringBoot 的奶茶在线点餐系统设计