Raspberry Pi4の開発をApple Silicon (M1) MacBookでやろう。(aarch64編)


注意: 2021-10-28

macOS Monterey にアップデートしたら ACVM.app が起動しなくなりました。

Introduction

Ubuntu (aarch64)をApple Silicon (M1) MacBook Air + QEMU上で動かして、Raspberry Pi4の開発に使おうというもの。

M1でLinux仮想を動かす(QEMU)に触発されました。(Windows10も動くらしいが私はやらない)

Build OpenVINO-2021.1, OpenCV-4.5.1-pre on Raspberry Pi4 / Ubuntu 20.10 (aarch64)のようなビルドがApple Silicon (M1)上で時間短縮できます。

Environment

  • Apple Silicon (M1) MacBook Air
  • ACVM.app (QEMU)
  • Raspberry Pi4 + Ubuntu (aarch64)
  • Resilio (file sync)

setup Ubuntu (aarch64) on ACVM

  1. https://github.com/KhaosT/ACVM/releases / ACVM.zip を使う。
  2. ACVM.app/Contents/Resources/qemu-img create -f qcow2 disk.img 32G でディスクイメージ作成
  3. https://cdimage.ubuntu.com/focal/daily-live/current / focal-desktop-arm64.iso
  4. ACVM 起動。CPU 4、RAM 4G、Display virtio-gpu、Main Imageに disk.img を CD Image に focal-desktop-arm64.iso を D&D
  5. start
  6. Ubuntuを通常どおりにインストール
  7. Resilio setup

Mac側でブリッジ設定などなどやりたくなかったのでfile syncソフトを使いました。
なんなら、Raspberry piのホームディレクトリ丸ごとsyncしても良いと思う。(ssh & rsync より運用が簡単)

resilio-sync

aptで入れます。

echo "deb http://linux-packages.resilio.com/resilio-sync/deb resilio-sync non-free" | sudo tee /etc/apt/sources.list.d/resilio-sync.list
wget -qO - https://linux-packages.resilio.com/resilio-sync/key.asc | sudo apt-key add -
sudo apt update
sudo apt install resilio-sync

Run resilio-sync usermode. ユーザで起動した方が使い勝手が良いです。

sudo systemctl stop resilio-sync
systemctl start --user resilio-sync

http://localhost:8888/gui で共有ディレクトリの設定をやります。

Reference

TODO

armv7編 もやりたいかも。(必要にせまられてないのでやらないだろう。。。)