筆者發現使用wsl(Windows Subsystem for Linux,適用于 Linux 的 Windows 子系統)編譯openharmony鏡像比傳統虛擬機快3倍以上。編譯環境換成wsl后,編譯ohos只需要傳統虛擬機上三分之一的時間。下面分享使用經驗如下:
為什么使用WSL2比傳統虛擬機編譯OpenHarmony快?
以下是微軟官方給的解釋:https://learn.microsoft.com/zh-cn/windows/wsl/about
-
Windows Subsystem for Linux(適用于 Linux 的 Windows 子系統)可讓開發人員按原樣運行 GNU/Linux 環境 - 包括大多數命令行工具、實用工具和應用程序 - 且不會產生傳統虛擬機或雙啟動設置開銷。
-
WSL2使用最新、最強大的虛擬化技術在輕量級實用工具虛擬機 (VM) 中運行 Linux 內核。但是,WSL2不是傳統的 VM 體驗。
-
傳統的 VM 體驗可能啟動速度慢,是獨立的,消耗大量資源,需要你花費時間進行管理。WSL 2 沒有這些屬性。
以下是筆者的感受:
具體點說就是編譯openharmony時cpu的利用率可以達到90%以上。而且編譯直接占用的是電腦的內存,而不是給傳統虛擬機上分配的內存。
而傳統虛擬機還要設置虛擬機參數,性能是受到制約的。
配置WSL環境
檢查運行 WSL 2 的要求
若要更新到 WSL 2,需要運行 Windows 10。
-
對于 x64 系統:版本 1903 或更高版本,內部版本為 18362 或更高版本。
-
對于 ARM64 系統:版本 2004 或更高版本,內部版本為 19041 或更高版本。
或 Windows 11。
若要檢查 Windows 版本及內部版本號,選擇 Windows 徽標鍵 + R,然后鍵入“winver”,選擇“確定”。
安裝 WSL 命令
現在,可以在管理員 PowerShell 或 Windows 命令提示符中輸入此命令,然后重啟計算機來安裝運行適用于 Linux 的 Windows 子系統 (WSL) 所需的全部內容。
wsl --install
(左右移動查看全部內容)
啟用適用于 Linux 的 Windows 子系統
需要先啟用“適用于 Linux 的 Windows 子系統”可選功能,然后才能在 Windows 上安裝 Linux 分發。
以管理員身份打開 PowerShell(“開始”菜單 >“PowerShell” >單擊右鍵 >“以管理員身份運行”),然后輸入以下命令:
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
(左右移動查看全部內容)
啟用虛擬機功能
安裝 WSL 2 之前,必須啟用“虛擬機平臺”可選功能。計算機需要虛擬化功能才能使用此功能。
以管理員身份打開 PowerShell 并運行:
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
(左右移動查看全部內容)
按要求重啟使設置生效。
下載 Linux 內核更新包
1.下載最新包:
適用于 x64 計算機的 WSL2 Linux 內核更新包
2.運行上一步中下載的更新包。(雙擊以運行 - 系統將提示你提供提升的權限,選擇“是”以批準此安裝。)
將 WSL 2 設置為默認版本
使用 wsl --install 命令安裝的新 Linux 安裝將默認設置為 WSL 2。
wsl --set-default-version 2
(左右移動查看全部內容)
安裝所選的 Linux 分發
打開 Microsoft Store,并選擇你偏好的 Linux 分發版。
編譯openharmony只能安裝Ubuntu 20.04和Ubuntu 18.04
首次啟動新安裝的 Linux 分發版時,將打開一個控制臺窗口,系統會要求你等待一分鐘或兩分鐘,以便文件解壓縮并存儲到電腦上。未來的所有啟動時間應不到一秒。
然后,需要為新的 Linux 分發版創建用戶帳戶。
wsl2到底安裝在windows系統的那個位置呢?
C:Users用戶名AppDataLocalPackagesCanonicalGroupLimited.Ubuntu18.04LTS_79rhkp1fndgscLocalState
切換源
在Linux終端輸入命令
sudo vim /etc/apt/sources.list
(左右移動查看全部內容)
把etc/apt/sources.list文件內容清楚,換下述其中一個源。(以下是vim的使用)
-
按一下字母「i」就可以進入「插入模式(Insert mode)」,就可以開始輸入文字了。
-
編輯好后按ESC鍵退出。
-
最后鍵盤輸入:wq,然后文件存盤并退出vim。
#163源
deb http://mirrors.163.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ bionic-backports main restricted universe multiverse
#中科大源
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
#阿里云源
deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
#清華源
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
(左右移動查看全部內容)
筆者換的是清華源。
最后更新源
sudo apt update
sudo apt upgrade
(左右移動查看全部內容)
在windowsx下的vscode里面下載好remote - wsl拓展
還可以通過使用 VS Code 中的快捷方式 CTRL+SHIFT+P 調出命令面板,以訪問更多 VS Code 遠程選項。
使用WSL1編譯OpenHarmony可以嗎?
編譯不了,筆者已經踩過坑了。
比較 WSL 1 和 WSL 2:
使用wsl2編譯openharmony鏡像
源碼獲取和編譯工具安裝的部分不多作介紹了,社區有很多優秀的參考文章值得參考。
提示:本文由電子發燒友社區發布,轉載請注明以上來源。如需社區合作及入群交流,請添加微信EEFans0806,或者發郵箱liuyong@huaqiu.com。
更多熱點文章閱讀
- 鴻湖萬聯產品推薦官招募!啟鴻OpenHarmony開發板免費體驗
- 國產龍芯 LoongArch 平臺已初步支持OpenHarmony操作系統
- 在DAYU200上實現OpenHarmony視頻播放器
- 九聯科技發布搭載OpenHarmony 3.1小型系統終端設備半球機攝像頭和槍機攝像頭
- HUAWEI AppGallery Connect全新升級,支持HarmonyOS生態全生命周期服務!
END
想了解更多開源技術?后臺留言,立刻安排!就喜歡獎勵一個“”和“在看”唄~
原文標題:使用WSL2編譯OpenHarmony DAYU200鏡像效率翻倍
文章出處:【微信公眾號:電子發燒友開源社區】歡迎添加關注!文章轉載請注明出處。
-
OpenHarmony
+關注
關注
25文章
3660瀏覽量
16158
原文標題:使用WSL2編譯OpenHarmony DAYU200鏡像效率翻倍
文章出處:【微信號:HarmonyOS_Community,微信公眾號:電子發燒友開源社區】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論