手把手教你在Windows下用WSL运行Vitis/Vivado/Petalinux

FPGA开发圈 2022-02-10 12:07
想在Windows下完成Xilinx基于Linux的整套开发编译链?觉得虚拟机还是有各种不便?使用WSL2的时候遇到了各种问题?
欢迎联系科通,科通Xilinx技术Team帮您踩坑。

  1. 为什么现在是开始利用WSL运行Xilinx设计链的好时机?

    Windows Subsystem for Linux(简称WSL)是一个在Windows 10上能够运行原生Linux二进制可执行文件(ELF格式)的兼容层。它是由微软与Canonical公司合作开发,其目标是使纯正的Ubuntu、Debian等映像能下载和解压到用户的本地计算机,并且映像内的工具和实用工具能在此子系统上原生运行。
    如果使用Windows 10 2004以上,可以通过WSL 2来窗口化运行桌面应用,也不需要另外安装其他的X 服务器。
    由于Zynq/MPSoC应用的普及,尤其是Linux的软硬件结合应用越来越多, 对Linux的裁剪和编译也成为了嵌入式工程师的必修课,而Linux 编译链(尤其基于Yocto 和 GCC) ,基本都在在Linux下调试和运行。
    尽管理论上可以用全脚本全文本的形式来进行Vivado全流程设计,但是不管是基于Block Design设计的灵活性,还是在Block中配置参数的方便性,基于图像GUI会非常方便。之前WSL 一代对GUI支持不是很好,在WSL2加强了对图形GUI的支持之后,既满足了Linux下嵌入式系统编译链的需求,又满足了图像化开发的需求,真是两全其美!


  2. 软件与硬件的准备工作

    硬件: 
    硬件主要是三大件 CPU内存硬盘啦。
    CPU和内存丰俭由人,主要会影响WSL的速度,当然是越高配越好,实测7、,8代i7与16G及更多的内存跑起来还是很流畅的。
    硬盘就很重要了,众所周知Vitis / Vivado 比较新的版本安装文件需要约60G, 解压安装文件需要约80G, 安装软件需要约80G,一个嵌入式工程(含临时Download / Sstate)约300~500G,再加上其他软件等,一个1T左右的硬盘是必须的。
    如果你的系统所在盘没有1T是没有问题的!我们稍后会解决这个问题。
    软件:
    软件方面主要需要考虑Windows版本,WSL2 需要Windows 10 20H4以上版本或者Windows 11较新版本。我们推荐Windows 10 升级到最新版本,实测没有问题。


  3. 到底用哪个Linux版本?

    因为支持期已过,Canonical已经停止为Ubuntu 16.04 LTS的技术支持,Windows Store当前主要提供18.04 LTS / 20.04 LTS版本,这里我们推荐比较新的20.04 LTS:


    我们来看比较新的2021.1 版本Vivado / Vitis Release note:


    可以看到最新版本的18.04/20.04 LTS都已经支持。本文就是WSL2 / Ubuntu 20.04 LTS / Vitis 2021.1 版本为例。
    当然, Windows商店中还提供了Linux其他发行版,欢迎各位有兴趣有余力可以去尝试下。

  4. 让我们开始安装

    1. 既然是虚拟机,首先要在BIOS中开启虚拟化相关选项(如Intel 的 VT-x,或者AMD AMD-V), 请参考您的主板和CPU说明书
    2. 使能“程序与功能”-“启用或关闭Windows功能”下两个功能:
    “虚拟机平台” 与 “适用于Linux的Windows子系统” (其他语言版本大致类似)。


    以上两步一定要先确保哦! 不然后续会有一些莫名其妙的bug。
    这里要特别说明一句,因为本文是基于WSL2,如果之前您已经安装过WSL1,后续可能碰到下面类似报警:


    造成该问题的原因是WSL版本由原来的WSL1升级到WSL2后,内核没有升级,前往微软WSL官网下载安装适用于 x64 计算机的最新 WSL2 Linux 内核更新包即可。

    下载链接:https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi

    如果是直接安装不会有这个问题。
    好,一切准备妥当,从Windows Store中安装Ubuntu 20.04 LTS吧!安装后运行,按指示设置用户名和密码就可以了。


  5. 让我们准备足够的空间

    微软对WSL2设定的初始虚拟硬盘空间是256G,虽然安装后可以在/mnt下直接访问Windows其他文件夹,但是EDA工具基本都要求工程在/home 下运行,所以我们要给虚拟硬盘进行扩容。
    首先我们进入我们刚刚装完的WSL, 用df查一下容量:


    可以看到只有256GB。
    而以我们实验的机器为例:


    可以看到C系统盘确实没有更大空间了,想要更大空间,我们需要做两个步骤
    1. 修改安装目录,把虚拟机移动到另一个盘符下(这里是D盘)
    2. 在新盘符中虚拟硬盘扩容。
    Windows10子系统(WSL)修改安装目录

    修改安装目录的方法如下(例子是一个18.04版本的,20.04把下面指令中的 ‘18.04’ 换成‘20.04’即可):

    1. 第一步,首先查看所有分发版本:

    wsl-l -v
    结果类似下面:


    2. 第二步,导出分发版为tar文件到D盘:

    wsl--export Ubuntu-18.04 d:\ubuntu18.04.tar
    结果类似下面


    3. 第三步,注销当前分发版:

    wsl--unregister Ubuntu-18.04
    4. 重新导入并安装分发版在d:\ubuntu (注意我们这里都是WSL2啦);
    5. wsl--import Ubuntu-18.04 d:\ubuntu2004 d:\ubuntu18.04.tar
    6. 设置默认登录用户为安装时用户名 (这里的Username替换成您之前的用户名);
    Ubuntu1804config --default-user Username
    7. 删除tar文件(可选):
    deld:\ubuntu18.04.tar
    再强调下哈,上面例子是一个18.04版本的,20.04把下面指令中的 ‘18.04’ 换成‘20.04’即可😊, 以后的新版本Ubuntu同理


    好了,我们搬完家啦!在搬家目录下应该就可以看到ext4.vhdx了,之前玩过虚拟机的小伙伴应该对这个文件格式很熟悉,下面我们要对这个vhdx扩容啦


    我们强烈推荐小伙伴们在安装前修改硬盘尺寸,毕竟到了Vitis/Vivado安装界面被提示安装空间不够回头再来扩容还挺麻烦的。
    对于修改虚拟硬盘尺寸,微软已经给出了解决方案,参见
    https://docs.microsoft.com/en-us/windows/wsl/vhd-size
    A. 首先是关闭当前WSL
    wsl --shutdown
    B. 如果没有移动过安装位置,可以按上面微软文档寻找ext4.vhdx文件的问题,不过我们是非常清楚的,比如我们当前就是”d:\ubuntu1804\ext4.vhdx ”
    C. 然后管理员模式打开Windows下命令行工具,用DISKPART工具扩大分区:
    首先输入diskpart , 回车;
    随后在DISKPART 下,“Select vdisk file="”;
    比如当前就是 “Select vdisk file=”d:\ubuntu1804\ext4.vhdx ”;
    选择后,可以先用detail vdisk确认当前尺寸:


    然后用 “expand vdisk maximum=<以MB为单位的目标尺寸> ”来设定大小
    比如我们设一个接近1.2T的,那就输入1200000 :
    expand vdisk maximum=1200000
    随后输入exit退出diskpart
    D. 这时候重新进入WSL, 虽然虚拟硬盘已经修改为1.2T了,但是Linux的分区其实还没修改,我们还要在Linux下扩容下分区:
    首先来确认一下分区名称,输入以下两句指令:
    sudo mount -t devtmpfs none /dev
    mount | grep ext4
    (此时你可能会看到如下警告:“mount command:"/dev: none already mounted on /dev." This message can safely beignored. ”这个警告可以不管)。
    记录下/dev/sdX 的名字(X可能为不同字母,本例为/dev/sdb )。
    随后用resize2fs在逻辑上扩容
    sudo resize2fs /dev/sdb <以MB为单位的目标>M
    比如本例是:
    sudo resize2fs /dev/sdb 1200000M
    结果如下,可以看到修改成功。



  6. 和Windows 交换文件

    WSL最方便的地方之一当然就是和Windows交换各种文件啦,这是以共享文件夹形式存在的,直接在运行中输入”\\wsl$ ” 即可。如下图所示



  7. 安装桌面环境

    终于到了重点啦,我们全面的一通操作,就是为了使用WSL2的图像界面嘛。
    Ubuntu 常用可选的图像环境有Gnome, KDE, Xfce4等等,这里推荐Gnome 或者 Xfce4Windows下终端工具我们推荐流行的MobaXterm:
    如果是Gnome:
    在Ubuntu登录后,运行:
    sudoapt-get install ubuntu-gnome-desktop
    然后我们可以使用Gnome的文件管理器,Nautilus
    运行:
    nautilus&
    效果如下图, 后面的操作各位就很熟悉啦:



    如果是Xfce4:
    在Ubuntu登录后,运行:
    sudoapt-get install xfce4
    运行:
    startxfce4&
    效果如下图:



  8. 安装Xilinx工具

    后续的Vitis / Vivado / Petalinux 的安装和Windows下都比较类似了:




    关于Petalinux ,当然要在安装前先安装各支持库:
    sudoapt-get install gcc


    然后在安装过程中按照提示查缺补漏即可:
    sudoapt-get install xterm autoconf libtool texinfo zlib1g* gcc-multilibbuild-essential ncurses* zlibc
    唯一说明的是zlib1g需要加i386库:
    sudodpkg --add-architecture i386
    sudoapt-get update
    sudoapt-get install zlib1g:i386
    最后,按老习惯,安装后编译一个官方板卡的BSP庆祝一下吧😊!




如果您在WSL运行Vitis/Vivado/Petalinux方面有问题,欢迎联系:

simonyang@comtech.com.cn

charlesxu@comtech.com.cn


FPGA开发圈 这里介绍、交流、有关FPGA开发资料(文档下载,技术解答等),提升FPGA应用能力。
评论 (0)
  •        在“软件定义汽车”的时代浪潮下,车载软件的重要性日益凸显,软件在整车成本中的比重逐步攀升,已成为汽车智能化、网联化、电动化发展的核心驱动力。车载软件的质量直接关系到车辆的安全性、可靠性以及用户体验,因此,构建一套科学、严谨、高效的车载软件研发流程,确保软件质量的稳定性和可控性,已成为行业共识和迫切需求。       作为汽车电子系统领域的杰出企业,经纬恒润深刻理解车载软件研发的复杂性和挑战性,致力于为O
    经纬恒润 2025-03-31 16:48 54浏览
  • 升职这件事,说到底不是单纯靠“干得多”或者“喊得响”。你可能也看过不少人,能力一般,甚至没你努力,却升得飞快;而你,日复一日地拼命干活,升职这两个字却始终离你有点远。这种“不公平”的感觉,其实在很多职场人心里都曾经出现过。但你有没有想过,问题可能就藏在一些你“没当回事”的小细节里?今天,我们就来聊聊你升职总是比别人慢,可能是因为这三个被你忽略的小细节。第一:你做得多,但说得少你可能是那种“默默付出型”的员工。项目来了接着干,困难来了顶上去,别人不愿意做的事情你都做了。但问题是,这些事情你做了,却
    优思学院 2025-03-31 14:58 79浏览
  • 据先科电子官方信息,其产品包装标签将于2024年5月1日进行全面升级。作为电子元器件行业资讯平台,大鱼芯城为您梳理本次变更的核心内容及影响:一、标签变更核心要点标签整合与环保优化变更前:卷盘、内盒及外箱需分别粘贴2张标签(含独立环保标识)。变更后:环保标识(RoHS/HAF/PbF)整合至单张标签,减少重复贴标流程。标签尺寸调整卷盘/内盒标签:尺寸由5030mm升级至**8040mm**,信息展示更清晰。外箱标签:尺寸统一为8040mm(原7040mm),提升一致性。关键信息新增新增LOT批次编
    大鱼芯城 2025-04-01 15:02 108浏览
  • REACH和RoHS欧盟两项重要的环保法规有什么区别?适用范围有哪些?如何办理?REACH和RoHS是欧盟两项重要的环保法规,主要区别如下:一、核心定义与目标RoHS全称为《关于限制在电子电器设备中使用某些有害成分的指令》,旨在限制电子电器产品中的铅(Pb)、汞(Hg)、镉(Cd)、六价铬(Cr6+)、多溴联苯(PBBs)和多溴二苯醚(PBDEs)共6种物质,通过限制特定材料使用保障健康和环境安全REACH全称为《化学品的注册、评估、授权和限制》,覆盖欧盟市场所有化学品(食品和药品除外),通过登
    张工13144450251 2025-03-31 21:18 72浏览
  • 提到“质量”这两个字,我们不会忘记那些奠定基础的大师们:休哈特、戴明、朱兰、克劳士比、费根堡姆、石川馨、田口玄一……正是他们的思想和实践,构筑了现代质量管理的核心体系,也深远影响了无数企业和管理者。今天,就让我们一同致敬这些质量管理的先驱!(最近流行『吉卜力风格』AI插图,我们也来玩玩用『吉卜力风格』重绘质量大师画象)1. 休哈特:统计质量控制的奠基者沃尔特·A·休哈特,美国工程师、统计学家,被誉为“统计质量控制之父”。1924年,他提出世界上第一张控制图,并于1931年出版《产品制造质量的经济
    优思学院 2025-04-01 14:02 84浏览
  • 在环保与经济挑战交织的当下,企业如何在提升绩效的同时,也为地球尽一份力?普渡大学理工学院教授 查德·劳克斯(Chad Laux),和来自 Maryville 大学、俄亥俄州立大学及 Trine 大学的三位学者,联合撰写了《精益可持续性:迈向循环经济之路(Lean Sustainability: Creating a Sustainable Future through Lean Thinking)》一书,为这一问题提供了深刻的答案。这本书也荣获了 国际精益六西格玛研究所(IL
    优思学院 2025-03-31 11:15 77浏览
  • 在不久前发布的《技术实战 | OK3588-C开发板上部署DeepSeek-R1大模型的完整指南》一文中,小编为大家介绍了DeepSeek-R1在飞凌嵌入式OK3588-C开发板上的移植部署、效果展示以及性能评测,本篇文章不仅将继续为大家带来关于DeepSeek-R1的干货知识,还会深入探讨多种平台的移植方式,并介绍更为丰富的交互方式,帮助大家更好地应用大语言模型。1、移植过程1.1 使用RKLLM-Toolkit部署至NPURKLLM-Toolkit是瑞芯微为大语言模型(LLM)专门开发的转换
    飞凌嵌入式 2025-03-31 11:22 189浏览
  • 引言在语音芯片设计中,输出电路的设计直接影响音频质量与系统稳定性。WT588系列语音芯片(如WT588F02B、WT588F02A/04A/08A等),因其高集成度与灵活性被广泛应用于智能设备。然而,不同型号在硬件设计上存在关键差异,尤其是DAC加功放输出电路的配置要求。本文将从硬件架构、电路设计要点及选型建议三方面,解析WT588F02B与F02A/04A/08A的核心区别,帮助开发者高效完成产品设计。一、核心硬件差异对比WT588F02B与F02A/04A/08A系列芯片均支持PWM直推喇叭
    广州唯创电子 2025-04-01 08:53 117浏览
  • 北京贞光科技有限公司作为紫光同芯产品的官方代理商,为客户提供车规安全芯片的硬件、软件SDK销售及专业技术服务,并且可以安排技术人员现场支持客户的选型和定制需求。在全球汽车电子市场竞争日益激烈的背景下,中国芯片厂商正通过与国际领先企业的深度合作,加速融入全球技术生态体系。近日,紫光同芯与德国HighTec达成的战略合作标志着国产高端车规芯片在国际化道路上迈出了关键一步,为中国汽车电子产业的发展注入了新的活力。全栈技术融合:打造国际化开发平台紫光同芯与HighTec共同宣布,HighTec汽车级编译
    贞光科技 2025-03-31 14:44 87浏览
  • 一、温度计不准的原因温度计不准可能由多种原因导致,如温度计本身的质量问题、使用环境的变化、长时间未进行校准等。为了确保温度计的准确性,需要定期进行校准。二、校准前准备工作在进行温度计校准之前,需要做好以下准备工作:1. 选择合适的校准方法和设备,根据温度计的型号和使用需求来确定。2. 确保校准环境稳定,避免外部因素对校准结果产生影响。3. 熟悉温度计的使用说明书和校准流程,以便正确操作。三、温度计校准方法温度计校准方法一般分为以下几步:1. 将温度计放置在
    锦正茂科技 2025-03-31 10:27 54浏览
  • 引言随着物联网和智能设备的快速发展,语音交互技术逐渐成为提升用户体验的核心功能之一。在此背景下,WT588E02B-8S语音芯片,凭借其创新的远程更新(OTA)功能、灵活定制能力及高集成度设计,成为智能设备语音方案的优选。本文将从技术特性、远程更新机制及典型应用场景三方面,解析该芯片的技术优势与实际应用价值。一、WT588E02B-8S语音芯片的核心技术特性高性能硬件架构WT588E02B-8S采用16位DSP内核,内部振荡频率达32MHz,支持16位PWM/DAC输出,可直接驱动8Ω/0.5W
    广州唯创电子 2025-04-01 08:38 108浏览
我要评论
0
3
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦