想进一步了解开源,请访问:开源基础软件社区https://ost.51cto.com作者发现使用wsl(WindowsSubsystemforLinux,适用于Linux的Windows子系统)编译openharmony镜像比传统虚拟机快3倍以上。编译环境改成wsl后,编译ohos只需要传统虚拟机三分之一的时间。下面分享一下使用心得:为什么用WSL2编译OpenHarmony比传统虚拟机编译速度快?以下是微软官方给出的解释:https://learn.microsoft.com/zh-cn/windows/wsl/about。适用于Linux的Windows子系统(WindowsSubsystemforLinux)使开发人员能够按原样运行GNU/Linux环境——包括大多数命令行工具、实用程序和应用程序——而无需传统虚拟机或双引导设置的开销。WSL2使用最新最好的虚拟化技术在轻量级实用程序虚拟机(VM)中运行Linux内核。然而,WSL2并不是传统的VM体验。传统的VM体验可能启动缓慢、独立、资源密集,并且需要您的时间来管理。WSL2没有这些属性。以下是笔者的感受:具体来说,编译openharmony时CPU使用率可以达到90%以上。而且编译直接占用电脑的内存,而不是分配给传统虚拟机的内存。但是,传统的虚拟机还需要设置虚拟机参数,其性能受到限制。配置WSL环境检查运行WSL2的要求要更新到WSL2,您需要运行Windows10。对于x64系统:版本1903或更高版本,内部版本18362或更高版本。对于ARM64系统:版本2004或更高版本,内部版本19041或更高版本。或Windows11。要检查Windows版本和内部版本号,请选择Windows徽标键+R,然后键入“winver”,然后选择“确定”。安装WSL命令您现在可以在AdministratorPowerShell或Windows命令提示符中输入此命令,然后重新启动计算机以安装运行WindowsSubsystemforLinux(WSL)所需的一切。wsl--install为Linux启用Windows子系统需要在Windows上安装Linux发行版之前启用Linux的Windows子系统可选功能。以管理员身份打开PowerShell(开始菜单>PowerShell>右键单击??>以管理员身份运行)并输入以下命令:dism.exe/online/enable-feature/featurename:Microsoft-Windows-Subsystem-Linux/all/norestart启用虚拟机功能在安装WSL2之前,您必须启用“虚拟机平台”可选功能。计算机需要虚拟化功能才能使用此功能。以管理员身份打开PowerShell,运行:dism.exe/online/enable-feature/featurename:VirtualMachinePlatform/all/norestart根据需要重启使设置生效。下载Linux内核更新包1.下载最新包:适用于x64计算机的WSL2Linux内核更新包。2.运行上一步下载的更新包。(双击运行-系统会提示您提升权限,选择“是”以批准此安装。)将WSL2设置为默认版本使用wsl--install命令安装的新Linux安装将默认设置WSL2。wsl--set-default-version2安装所选的Linux发行版打开MicrosoftStore并选择您喜欢的Linux发行版。编译openharmony只能安装在Ubuntu20.04和Ubuntu18.04上。第一次启动新安装的Linux发行版时,将打开一个控制台窗口,系统会要求您等待一两分钟,以便文件解压缩并存储在您的计算机上。所有未来的初创公司都应该花不到一秒钟的时间。然后,需要为新的Linux发行版创建用户帐户。wsl2安装在windows系统哪里?C:\Users\用户名\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu18.04LTS_79rhkp1fndgsc\LocalStateswitchsource在linux终端输入命令:sudovim/etc/apt/sources.list清除etc/apt/中的内容sources.list文件,用于以下来源之一。(以下是vim的使用)。按字母“i”进入“插入模式”并开始输入。编辑完成后按ESC键退出。最后,在键盘上输入:wq,然后保存文件并退出vim。#163源debhttp://mirrors.163.com/ubuntu/bionicmainrestricteduniversemultiversedebhttp://mirrors.163.com/ubuntu/bionic-securitymainrestricteduniversemultiversedebhttp://mirrors.163.com/ubuntu/bionic-updatesmainrestricteduniversemultiversedebhttp://mirrors.163.com/ubuntu/bionic-proposedmainrestricteduniversemultiversedebhttp://mirrors.163.com/ubuntu/bionic-backportsmainrestricteduniversemultiversedeb-srchttp://mirrors.163.com/ubuntu/bionicmainrestricteduniversemultiversedeb-srchttp://mirrors.163.com/ubuntu/bionic-securitymainrestricteduniversemultiversedeb-srchttp://mirrors.163.com/ubuntu/bionic-updatesmainrestricteduniversemultiversedeb-srchttp://mirrors.163.com/ubuntu/bionic-proposedmainrestricteduniversemultiversedeb-srchttp://mirrors.163.com/ubuntu/bionic-backportsmainrestricteduniversemultiverse#中科大源debhttps://mirrors.ustc.edu.cn/ubuntu/bionicmainrestricteduniversemultiversedebhttps://mirrors.ustc.edu.cn/ubuntu/bionic-updatesmainrestricteduniversemultiversedebhttps://mirrors.ustc.edu.cn/ubuntu/bionic-backportsmainrestricteduniversemultiversedebhttps://mirrors.ustc.edu.cn/ubuntu/bionic-securitymainrestricteduniversemultiversedebhttps://mirrors.ustc.edu.cn/ubuntu/bionic-proposedmainrestricteduniversemultiversedeb-srchttps://mirrors.ustc.edu.cn/ubuntu/bionicmainrestricteduniversemultiversedeb-srchttps://mirrors.ustc.edu.cn/ubuntu/bionic-updatesmainrestricteduniversemultiversedeb-srchttps://mirrors.ustc.edu.cn/ubuntu/bionic-backportsmainrestricteduniversemultiversedeb-srchttps://mirrors.ustc.edu.cn/ubuntu/bionic-security主受限宇宙multiversedeb-srchttps://mirrors.ustc.edu.cn/ubuntu/bionic-proposed主受限宇宙multiverse#阿里云源debhttp://mirrors.aliyun.com/ubuntu/bionicmainrestricteduniversemultiversedebhttp://mirrors.aliyun.com/ubuntu/bionic-securitymainrestricteduniversemultiversedebhttp://mirrors.aliyun.com/ubuntu/bionic-updatesmainrestricteduniversemultiversedebhttp://mirrors.aliyun.com/ubuntu/bionic-proposedmainrestricteduniversemultiversedebhttp://mirrors.aliyun.com/ubuntu/bionic-backportsmainrestricteduniversemultiversedeb-srchttp://mirrors.aliyun.com/ubuntu/bionicmainrestricteduniversemultiversedeb-srchttp://mirrors.aliyun.com/ubuntu/bionic-securitymainrestricteduniversemultiversedeb-srchttp://mirrors.aliyun.com/ubuntu/bionic-updatesmainrestricteduniversemultiversedeb-srchttp://mirrors.aliyun.com/ubuntu/bionic-proposedmainrestricteduniversemultiversedeb-srchttp://mirrors.aliyun.com/ubuntu/bionic-backportsmainrestricteduniversemultiversedeb#清华源debhttps://mirrors.tuna.tsinghua.edu.cn/ubuntu/bionicmainrestricteduniversemultiversedebhttps://mirrors.tuna.tsinghua.edu.cn/ubuntu/bionic-updatesmainrestricteduniversemultiversedebhttps://mirrors.tuna.tsinghua.edu.cn/ubuntu/bionic-backportsmainrestricteduniversemultiversedebhttps://mirrors.tuna.tsinghua.edu.cn/ubuntu/bionic-securitymainrestricteduniversemultiversedebhttps://mirrors.tuna.tsinghua.edu.cn/ubuntu/bionic-proposedmainrestricteduniversemultiversedeb-srchttps://mirrors.tuna.tsinghua.edu.cn/ubuntu/bionicmainrestricteduniversemultiversedeb-srchttps://mirrors.tuna.tsinghua.edu.cn/ubuntu/bionic-updates主受限宇宙multiversedeb-srchttps://mirrors.tuna.tsinghua.edu.cn/ubuntu/bionic-backports主受限宇宙multiversedeb-srchttps://mirrors.tuna.tsinghua.edu.cn/ubuntu/bionic-securitymainrestricteduniversemultiversedeb-srchttps://mirrors.tuna.tsinghua.edu.cn/ubuntu/bionic-proposedmainrestricteduniversemultiverse作者最后更新为清华园出处:aptupdateaptupgrade在windowsx下的vscode中下载remote-wsl扩展。您还可以在VSCode中使用快捷键CTRL+SHIFT+P调出命令面板以访问更多VSCode远程选项。用WSL1编译OpenHarmony可以吗?编译不了,作者已经踩坑了。WSL1和WSL2对比:使用wsl2编译openharmony镜像源码获取和编译工具安装就不多介绍了。社区中有很多优秀的参考文章值得参考。了解更多开源知识,请访问:开源基础软件社区https://ost.51cto.com。
