MacでRaspberry Piの仮想環境を構築
Raspberry Piが手元になくて、Mac上で仮想環境を構築してみたときのメモです。
最初に書いておくと、本当はGUI環境を構築したかったのですができなかったものになります。VNCでも良かったのですが、できませんでした…できるようになったら追記します(もしくは誰か教えて下さい)。なので、どれだけ役に立つかは微妙ですが、誰かの役に立つかもしれないので残しておきます。
大まかな手順は以下です。
- QEMUをインストール
- 必要なファイル(OSイメージ等)をダウンロード
- QEMUでRaspianを起動
順に説明していきます。
QEMUをインストール
QEMUというプロセッサエミュレータをインストールします。ARMのフリーの仮想環境といえばこれのようです。Macならパッケージ管理ソフトのHomebrewでインストールできます。具体的には、ターミナルから以下コマンド一発でインストールできます。
$ brew install qemu
Homebrewって何?という人は以下記事参照下さい。
Macのパッケージ管理ソフトウェア 「Homebrew」「Homebrew Cask」でソフトウェアを簡単にインストール・管理しよう
インストールの確認は以下コマンドでできます。
$ qemu-system-arm --version
以下のようにバージョンが表示されたらOKです。
QEMU emulator version 4.0.0
Copyright (c) 2003-2019 Fabrice Bellard and the QEMU Project developers
必要なファイル(OSイメージ等)をダウンロード
必要なファイルをダウンロードします。この辺りは、参考サイトに大いに助けられました。
とりあえず、以下コマンドで必要なものが全てダウンロードできるようにしてみました。OSのイメージがあるので、かなり時間かかります(1GB以上のデータのダウンロードが必要)。
$ cd && git clone https://github.com/karaage0703/raspbian_on_qemu && cd raspbian_on_qemu
$ ./setup_raspbian_buster_on_qemu.sh
QEMUでRaspianを起動
以下コマンドでQEMUでRaspbianを起動します。
無事成功すると、以下のようにログイン画面が表示されます。
ユーザー名:pi パスワード:raspberry でログインできます。
$ cd ~/raspbian_on_qemu
$ qemu-system-arm -kernel kernel-qemu-4.19.50-buster -dtb versatile-pb.dtb -m 256 -M versatilepb -cpu arm1176 -serial stdio -append "root=/dev/sda2 panic=1 rootfstype=ext4 rw" -drive file=2019-09-26-raspbian-buster.img,format=raw -no-reboot
Docker上のUbuntuでQEMUの仮想環境
GUI環境を諦め切れず、Docker上のUbuntuでもチャレンジしてみましたが、ダメでした。
以下参照下さい(詳細の説明は省略します)。
Dockerに関しては以下記事参照下さい。
Docker入門して機械学習環境構築
まとめ
Macでラズパイの仮想環境を構築する最低限の手順を記載しました。全然使い込んでないので、どれだけ実用的なのかは不明です。正直、ラズパイ4買った方が断然良いような気はします。
GUIを使う方法は分かりませんでした。誰か教えて下さい…
追記:
GUIを使う方法、実現している方がいました。以下記事参照ください(まだ私は確認できていません)
また、目的とOSは違いますが、以下記事でMac+Docker+VS CodeのRemote Container(devcontainer)でGUIが動く仮想環境を構築しています。こちらもよろしければ参考にしてみてください。
ラズパイ4実機のセットアップ方法に関しては、以下記事等参照下さい。初心者は、まずは実機を試すことをおすすめします。
Raspberry Pi 4のディープラーニングで画像認識する環境をゼロから1時間で構築する方法
参考サイト
大いに助けられた情報です。