利用 Raspberry Pi 4 硬體虛擬化加速開發ARM專案

在上一篇「Raspberry Pi 4 樹莓派試玩」裡,先是介紹了如何安裝 Ubuntu,本篇就要介紹如何使用其 Hardware Virtualization 的硬體功能,來加速 QEMU ARM64 Guest,以加速嵌入式系統的開發。

本篇較為簡短,讀者主要是要先參考「以 QEMU 加速嵌入式系統開發」這篇,瞭解如何在一般的 x86 Ubuntu 上利用 QEMU 開發 ARM64 專案。接著,在樹莓派安裝好後,套用相同的流程,「直接」在其上編譯 Buildroot 與 Kernel 4.4。

由於是在樹莓派上做編譯,時間會有點久,約需60分左右。或者可以在 x86 編譯完,在將關鍵的 kernel image 與 rootfs 複製到樹莓派執行,只是這樣會稍微麻煩一點。

差異部份

最主要的差異部份,在於最後執行的 runqemu 腳本內的 qemu-system-aarch64 的執行參數。其差異的部份如下:

樹莓派 QEMU 參數

PC QEMU ARM64 參數

可以看到樹莓派指定了與系統相同的 CPU 與開啟了 KVM 的加速,所以可以達到較好的表現。

在使用 KVM 時會需要root權限,要使用 sudo 來執行。或者可以將用戶加入 kvm 群組,就可以利用 kvm 功能。

群組加入後,需重登入才能生效。

其它命令

在開發系統時,樹莓派只是拿來做模擬而已,程式編譯主要還是在 x86 上做。這時就會需要檔案共用,可以在樹莓派上使用下面的 mount 命令,來掛載 samba 系統,直接共用x86編好的檔案。

結語

由於主要的內容都在另外兩篇文章內,本文主要是提出關鍵的部份,讓開發者可以在樹莓派4上進行 ARM64 模擬。如有不清楚的部份,可回頭在看一下之前的文章。

Leave a Reply