Windows Subsystem for Linux运行Ubuntu并安装Synopsys软件-FPGA常见问题社区-FPGA CPLD-ChipDebug

Windows Subsystem for Linux运行Ubuntu并安装Synopsys软件

Windows Subsystem for Linux运行EDA软件

导言

大家用什么方式来运行Linux?安装各种EDA安装包呢?常见的可能是双系统、虚拟机、服务器、docker,或者试试WSL2?这些方案除了服务器亦安没有搭建体验过,其他的方案均测试过,WSL是一个很好的运行Linux的方案,本文主要介绍WSL安装,以及给大家一个完整的WSL备份压缩包,内部已经安装VCS2018,Verdi2018,DC2018,VCS_MAX2018,仅供学习使用。

什么是WSL2?

即Windows Subsystem for Linux,在win系统下能运行linux的环境,比如安装ubuntu,并和win有极强的交互性。相比较wsl1,wsl2有了很大的进步,能运行大多数linux命令行,工具和应用,并且使用了真正的linux内核,几乎具备linux的完整功能,它的目标是提高文件系统性能,以及添加完全的系统调用兼容性。

安装

有win系统要求:win10 2004及更高版本(内部版本19041及更高版本)或win11。

以管理员运行PowerShell执行wsl –install即可,当然还需要在windows功能中勾选:

  • 适用于Linux的Window子系统

  • 虚拟机平台

有重启要求的按照要求重启,安装非常简单,具体大家到官网看教程,还会有wsl的命令行介绍。

https://docs.microsoft.com/zh-cn/windows/wsl/install

到微软商店搜WSL或Linux会出现Ubuntu这些发行版本,亦安安装了Ubuntu18.04和Ubuntu20.04,这个根据自己的需求,但如果需要安装Centos,微软商店不支持,则需要到以下网站下载:

https://github.com/mishamosher/CentOS-WSL

优势

  • 交互性强,比如说,子系统可以完全访问win下的文件。如果你的win下有VScode,那么只需要在命令行运行code filename,那么就可以直接用win环境下的VScode打开子系统下的名为filename文件,而不需要在linux里面安装vscode。

  • 启动快:相比较虚拟机启动比较快。

  • 可以直接运行Linux环境下的APP GUI,而不需要安装桌面环境,默认安装这个支持包,微软把这个功能称为WSLg

劣势

  • 占用内存比较大,官网上描述是50%的计算机内存,或者8GB,取两者较小者。(数值记得不是特别清楚,后来查数值没找到,但比较大)

  • 打开的app gui有时会有显示bug,不常见,不知道是不是wsl本身的问题,虽然能打开linux app gui但不够丝滑。

  • 每次重新开机都会分配不一样的ip和mac,需要自己配置一个固定ip和mac,看自己需求。

  • 如果新装ubuntu,默认装在C盘,尽管可以迁移,但感觉要多走一步,不是很喜欢这点。

    每个人感受不一样,可以根据自己的需求来选择是否要使用wsl。

Ubuntu问题

Mac问题

由于WSL的特殊性,所以每次重新启动,都会给Linux子系统一个不同于之前的mac地址,对于学习一些EDA而言,这是极其不方便的,因为有些软件和谐就是基于固定的mac,如果每次开机都会改变mac值,那么每次都需要重新生成license。这里有两种方案,在win下写个脚本,每次启动都给WSL一个固定的mac,我们用固定的mac生成的license就会一直有效。第二种方法,在WSL子系统中的.bashrc中配置一个固定的mac,我们用这个mac就可以让license持续生效。亦安选的是第二种方案,原因是方便移植。可惜的是,因为给mac和自动激活license顺序我没有控制好,导致只能选择配置mac,启动后需要自己输入命令激活。当然你也可以在.bashrc配置开机激活,但下次你生效.bashrc就会报TCP port被占用的错误,当然这是因为重复激活导致的,这没有什么,但很烦,我就没有添加,还是选择了手动激活。大家有更好的方案也可以讨论。配置代码如下:

# mac
wantmac=00:15:5d:f0:03:60
mac=$(ip link show bond0 | awk '/ether/ {print $2}') 
if [[ $mac !=  $wantmac ]]; then
   sudo ip link set dev bond0 address $wantmac
fi

注意:上面的mac就是我wsl中给定的,并非计算机的mac,是随机给子系统分配的mac,只是选择一个固定下来,必须使用自己的的mac才是可行的,抓取自己Mac地址修改即可。

释放磁盘空间问题

释放磁盘空间问题:你会发现当你把WSL下的文件删除,但win下磁盘的空间似乎没有释放空间。这就需要手动压缩了,以管理员身份运行命令行,分别执行下面命令即可,大家可以把这些命令写成脚本,自动执行。

diskpart
select  vdisk file="C:..ext4.vhdx"(在你wsl所在的盘搜ext4.vhdx,把地址复制进来)
attach  vdisk readonly
compact vdisk
detach  vdisk
exit

导入注意点

导入非常容易,先安装wsl环境,命令中第一个位置是你将要装的ubuntu18.04位置,第二个位置是下载的备份压缩包位置,不需要解压,位置根据自己的所放位置配置,然后执行:

wsl --import Ubuntu-18.04 D:Ubuntu-18.04 D:Ubuntu-18.04.tar

这里的导入备份包我没有实际操作过,是根据网上的教程写的(不是特别确定),导入后,登录应该是root,大家自己修改为普通用户,用户名为:winter 密码为:815520。

关于软件激活

导入后先不要输入lmg激活,因为license中mac和hostname都不对应,先查看自己的hostname,在命令行输入hostname即可知道自己的hostname,再查自己的mac,输入ifconfig -a(这个要在ubuntu中执行,前面的hostname在win和ubuntu下都是一样的,其实就是你打开命令行的名称即:winter@hostname)即可看到自己mac,选一个固定下来,即之前所说的固定随机mac,在.bashrc文件中修改即可。在synopsys激活软件中输入hostname和mac生成Synopsys.dat放入:usrsynopsysscl2018.06adminlicense替换即可,然后输入lmg即可正常激活,如果你之前激活失败,再次激活就会报TCP port错误,则需要kill掉端口,重新激活。这次配置完就不需要修改license了。

安装好的软件展示

输入dve(vcs的图形界面,具体在.bashrc中看命令):

图片[1]-Windows Subsystem for Linux运行Ubuntu并安装Synopsys软件-FPGA常见问题社区-FPGA CPLD-ChipDebug

输入dv(输入dc是启动dc的命令行):

图片[2]-Windows Subsystem for Linux运行Ubuntu并安装Synopsys软件-FPGA常见问题社区-FPGA CPLD-ChipDebug

 

输入verdi:

图片[3]-Windows Subsystem for Linux运行Ubuntu并安装Synopsys软件-FPGA常见问题社区-FPGA CPLD-ChipDebug

 

输入vivado(给大家的备份包没有装vivdao,因为太大而且不是所有人都需要,安装简单自行安装需要的版本):

图片[4]-Windows Subsystem for Linux运行Ubuntu并安装Synopsys软件-FPGA常见问题社区-FPGA CPLD-ChipDebug

就像打开win里面的app一样,有时候会有些显示的小bug,但无伤大雅,能直接打开linux app gui算是一大特色,感兴趣可以试一试wsl2。

如果大家不想导入我给的备份包,自己到微软商店安装ubuntu,然后自己安装需要的软件也是可行的,我给的包没有装Vivado就是因为Vivado很大,也不是所有人都需要,所以只装了DC,VCS,Verdi这些。如果新装这些EDA遇到问题,也可以和我讨论,能踩的坑我都踩了,应该能帮助你。

获得备份包

公众号回复:ubuntu18.04

版权声明

该备份包仅供学习使用,严禁用于商业,下载学习完毕请立即删除,并向相关公司购买正版license。

总结

个人觉得wsl是个不错的方案,主要就是和win交互性很强,这一点比较虚拟机算是一个优势,而且不需要安装linux gui,上面wsl遇到的一些问题我给出的解决方案不一定是最优方案,有其他更优方案也欢迎和我讨论。

请登录后发表评论

    没有回复内容