使用Multipass編譯OpenHarmony工程
51CTO和華為官方合作共建的鴻蒙技術(shù)社區(qū)
Multipass 是一個(gè)輕量級(jí)虛擬機(jī)管理器,支持 Linux、Windows 與 macOS,這是為希望使用單個(gè)命令提供全新 Ubuntu 環(huán)境的開發(fā)人員而設(shè)計(jì)的。使用 Linux 上的 KVM、Windows 上的 Hyper-V 和 macOS 上的 HyperKit 來以最小的開銷運(yùn)行 VM,同時(shí)它還可以在 Windows 和 macOS 上使用VirtualBox。本文快速記錄下如何Multipass來編譯OpenHarmony工程。
1、Multipass的安裝
本文以Windows系統(tǒng)為例,演示如何安裝。訪問https://multipass.run/,選擇Windows操作系統(tǒng),下載安裝包https://multipass.run/download/windows。下載完畢,默認(rèn)安裝即可。
注意:支持的操作系統(tǒng)版本為Windows 10 Pro/Enterprise/Education v 1803 及更新版本,或任何安裝VirtualBox的Windows 10版本。
2、Multipass常用命令
快速了解下Multipass相關(guān)的命令,打開DOS命令行窗口,可以嘗試運(yùn)行下述命令進(jìn)行了解。更多信息可以訪問官網(wǎng)https://multipass.run/docs。
啟動(dòng)實(shí)例,默認(rèn)為當(dāng)前的Ubuntu LTS版本:
- multipass launch --name foo
在實(shí)例中運(yùn)行shell命令,進(jìn)入bash模式,logout或者ctrl-d退出:
- multipass exec foo -- lsb_release -a
查看創(chuàng)建的實(shí)例:
- multipass list
停止\啟動(dòng)實(shí)例:
- multipass stop foo bar
- multipass start foo
刪除實(shí)例:
- multipass delete bar
- multipass purge
獲取help幫助信息:
- multipass help
- multipass help <command>
如何創(chuàng)建共享文件夾:
執(zhí)行下面的命令,在win10上實(shí)現(xiàn)和multipass ubuntu文件共享。
- multipass set local.privileged-mounts=true
- multipass mount D:\OHOS instance-name
3、創(chuàng)建可以運(yùn)行OpenHarmony的Multipass實(shí)例
默認(rèn)創(chuàng)建的Multipass Ubuntu實(shí)例磁盤空間有限,執(zhí)行下面的命令,我們創(chuàng)建一個(gè)實(shí)例,名稱為OHOS,CPU核數(shù)為4,內(nèi)存為8G,磁盤空間為100G的Ubuntu 20.04實(shí)例。虛擬機(jī)磁盤位置默認(rèn)在C盤,目前沒有找到可以調(diào)整到其他盤符的辦法。如果C盤空間比較少了,會(huì)影響使用。
- multipass launch -n OHOS -c 4 -m 8G -d 100G 20.04
執(zhí)行下面的命令,可以查看創(chuàng)建的實(shí)例的信息。
- C:\Users\zhushy>multipass info OHOS
- Name: OHOS
- State: Running
- IPv4: 172.21.163.85
- Release: Ubuntu 20.04.3 LTS
- Image hash: 8fbc4e8c6e33 (Ubuntu 20.04 LTS)
- Load: 0.00 0.00 0.25
- Disk usage: 26.9G out of 96.7G
- Memory usage: 6.2G out of 7.8G
- Mounts: D:/OHOS => D:/OHOS
- UID map: -2:default
- GID map: -2:default
執(zhí)行命令multipass shell OHOS可以進(jìn)入shell命令行窗口,如下圖:

由于已經(jīng)把D:\OHOS文件夾進(jìn)行了共享,Windows文件和實(shí)例中進(jìn)行文件傳遞共享就會(huì)比較方便。也可以使用命令multipass transfer來傳遞文件,文件夾共享當(dāng)然更加方便些。
4、下載編譯OpenHarmony代碼
由于Multipass實(shí)例是Ubuntu虛擬機(jī),和使用真實(shí)機(jī)器、WSL或者VirtualBox或VMWare虛擬機(jī)區(qū)別不大,下載、編譯OpenHarmony代碼部分就省略了。
為了快速編譯,記得執(zhí)行sudo apt install ccache??聪戮幾g的效果吧:
下面演示下編譯恒玄的工程:

編譯成功后,可以方便把編譯輸出件共享到Windows文件夾,如下圖所示:

更棒的是,Multipass實(shí)例里,是可以運(yùn)行Qemu虛擬機(jī)的,這樣沒有開發(fā)板,我們也可以運(yùn)行OpenHarmony的Qemu仿真工程。
選擇Qemu仿真工程的產(chǎn)品openharmony/vendor/ohemu/qemu_mini_system_demo,編譯后運(yùn)行,效果如下:

小結(jié)
使用Multipass支持編譯OpenHarmony工程,比較方便,值得嘗試一下。
51CTO和華為官方合作共建的鴻蒙技術(shù)社區(qū)