前言
當 Apple 宣布要由 Intel 架構轉為 ARM 後,就知道在未來,既有的 x86 / x64 虛擬化環境將無法再在新架構的 Mac 上使用。在相同的平台上用的是 virtulization(虛擬化),在不同的平台上用的是 emulation(模擬化?),而 emulation 往往是十分沒效率的,而且難度也高很多,往往要等待非常久才會有堪用的方案。
在 Mac mini M1 推出後,為了評估 ARM Mac 的可用性,也買了一台來測試,初期透過 Parallels Desktop for Apple Silicon 的幫助,安裝了 Ubuntu for ARM,可以完整的安裝 Home Assistant Supervised,沒有任何的錯誤訊息,不過安裝流程並不是非常友善,因此就沒有將安裝方式記錄下來。
之前 Home Assistant 8.0 發佈的時候,我看到發佈訊息上寫到有增加 AArch64 平台的支援,就一直想測試在 Apple Silicon Mac 上是不是能透過 AArch64 的 disk image 來簡化安裝流程,一試果然簡化了許多,已經到適合分享的程度了,所以這篇就是分享整個安裝流程是如何完成的。
必要條件
- 有一台 Apple Silicon Mac(廢話)
- 不怕使用 CLI 文字介面(最後的步驟會需要用到一點)
- 對虛擬化應用有稍微概念較佳
下載免費的 UTM 虛擬/模擬軟體
UMT 是一套基於 QEMU 的圖形介面虛擬/模擬軟體,可以建立虛擬機,也可以模擬不同架構的環境,讓你可以跑一些原本自己的平台不能安裝的作業系統環境。本篇就是會透過 UTM 來建立虛擬機,並載入官方的 Home Assistant OS 磁碟映像檔,來達成於 Apple Silicon Mac 上建立 Home Assistant VM 的目的。
UTM 本身可於官網免費下載,也可以透過 App Store 購買。免費版跟付費版功能相同,付費版可透過 App Store 機制自動更新,也可以支持開發團隊,請多多支持這類型的開發者,我們才能持續享有優質的開放原始碼社群環境。
首先到官網並下載 UTM
掛載磁碟後拉到 Application 資料夾即完成。
下載 Home Assistant OS AArch64 磁碟映像檔
在建立新的虛擬機之前,先把要用的 HA OS AArch64 磁碟映像檔下載好。首先先到官方的 Github 並找到 AArch64 的映像檔,找副檔名為 .qcow2 且檔名中有 AArch64 的那個。
下載後記得按讚訂閱開啟小鈴… 不,我是說請記得解壓縮,然後我們就可以開始回到 UTM 建立新的虛擬環境。
建立新的虛擬環境
接下來就是看圖說故事時間。
首先先建立新的虛擬機(Virtual Machine)
選擇 Other,我們不用 ISO 檔開機所以勾選跳過。
選擇要給多少記憶體跟處理器核心,不影響 Mac 運作的情況下你要選多少就選多少,基本上我覺得 2GB RAM 配雙核心已經非常足夠,就依照自己環境的需求加減。
接下來的磁碟尺寸預設值直接下一步,因為待會會刪掉設定沒有意義。
給自己的 VM 一個好記的名稱,然後勾選 Open VM Settings
,因為接下來要修改部分虛擬環境的參數。
裡面可以動的設定很多,請自己隨意把玩測試,我只針對必要性的做出建議。首先到 Network
分頁,使用 Bridged (Advanced)
。這邊的目的是要讓虛擬機於網路上被視為一台獨立的機器,可以由 router 的 DHCP server 取得自己的內網 IP。
接下來下一個欄位 Bridged Interface 一定要手動輸入一個。
接下來下一個欄位 Bridged Interface 一定要手動輸入一個。
接下來下一個欄位 Bridged Interface 一定要手動輸入一個。
很重要所以打三次。我一開始沒有輸入,結果搞到虛擬機一直沒有網路,因為它不知道要選用哪個實體網路介面去通訊。我使用 en0 也就是 Mac mini 上的預設有線網路介面。
接下來,要把原來建立的虛擬磁碟改換成 Home Assistant OS 的那個 qcow2 檔案。先刪除舊有的:
然後建立新的,但選擇用 Import...
來匯入 qcow2 檔案。
確認新的虛擬磁碟檔案無誤後就下一步。這邊很可惜的無法透過 UI 來修改預設磁碟映像檔的磁碟大小,因此後續開機安裝完後會發現空間不太夠,我們最後會靠 CLI(文字介面)的工具來修改,這部分大概是整個步驟裡最不友善的。
設定完成後將虛擬機開機,如果看到開機畫面基本上就成功一半了。
老樣子,看到登入歡迎畫面,就可以用網頁瀏覽畫面上顯示的 IP 位址或是網址連線,查看網頁介面並完成後續設定步驟。
完成後就可以如其他平台那樣透過網頁操作 Home Assistant。絕大多數的 Add-on 套件應該都可以正常使用,假如該套件本身不支援 AArch64 的環境,就無法安裝。我個人會用到的基本上都沒問題,所以對大多數人的影響應該不大。
擴增虛擬磁碟大小
由於發佈本篇教學時,UTM 尚未有提供圖形介面的工具可以直接修改映像檔的磁碟大小,因此需要透過 CLI(文字介面)的 qemu-img
工具來達成此目的。
由於這部分已經有人寫過了,就請大家直接參考吧,地方的阿宅懶得再寫一次…
有相關問題,就下面再討論。