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中看命令):
输入dv(输入dc是启动dc的命令行):
输入verdi:
输入vivado(给大家的备份包没有装vivdao,因为太大而且不是所有人都需要,安装简单自行安装需要的版本):
就像打开win里面的app一样,有时候会有些显示的小bug,但无伤大雅,能直接打开linux app gui算是一大特色,感兴趣可以试一试wsl2。
如果大家不想导入我给的备份包,自己到微软商店安装ubuntu,然后自己安装需要的软件也是可行的,我给的包没有装Vivado就是因为Vivado很大,也不是所有人都需要,所以只装了DC,VCS,Verdi这些。如果新装这些EDA遇到问题,也可以和我讨论,能踩的坑我都踩了,应该能帮助你。
获得备份包
公众号回复:ubuntu18.04
版权声明
该备份包仅供学习使用,严禁用于商业,下载学习完毕请立即删除,并向相关公司购买正版license。
总结
个人觉得wsl是个不错的方案,主要就是和win交互性很强,这一点比较虚拟机算是一个优势,而且不需要安装linux gui,上面wsl遇到的一些问题我给出的解决方案不一定是最优方案,有其他更优方案也欢迎和我讨论。
没有回复内容