#高速な仮想マシンでコンテナを作って楽がしたい
DonkeyCarをやり始めて、早くも半年、インストールやコンパイルを繰り返していますが、
低速なラズパイでインストールに時間をかけるのが苦痛になってきました。
人間はもっと生産的な仕事をするべきと、今更ながら思いました。
使ったことのないMicrosoft Azureをあれこれしていて、不毛に時間を使いました。
でも、やりたいことは、
「仮想ラズパイマシンでDocker動かしてイメージ作れたらOKでしょ?」
これだけです。
#仮想マシンを作る。
メモを書きながら実際にやってみます。
参考にしたのはこちら。
https://note.mu/kikuzokikuzo/n/na2e82c1c8835
先達に感謝!
作成する仮想ラズパイマシンは
- 64bit ARM8プロセッサで動かす
- 32bit RaspbianOS (Stretch). BurstはDonkeyCarが不安定らしい
dockerを動かしてイメージビルド(qemuによるエミュレーションを利用)
私はAzureで仮想マシンを作ってみます。
チュートリアルに従って、粛々と作ることとします。(コマンドラインでやるのは面倒なのでポータルでやります)
https://docs.microsoft.com/ja-jp/azure/virtual-machines/linux/quick-create-portal
あっさり出来上がり。Azure Cloud Shellでsshで接続。
#色々入れてみるも、決め手に欠く
なぜか、インストールでパスがないなどの異常が出ますね。
この辺りも参考にしてみたけど、RaspberryPi仮想マシン作るの実は需要なのか?
というか、そもそも難しく考えすぎか?
要はARM64の環境を作って、Raspbianのstretchをインストールしたら良いのでは?
http://matsujirushi.hatenablog.jp/entry/2018/04/15/214721
http://matsujirushi.hatenablog.jp/entry/2018/05/13/113219
ちょっと方針変換。
仮想マシン上で、ラズパイ仮想マシンを作り、その中でDockerを動かせばよろしいのでは?
#Donkey CarにはDockerfileが入っていた
ハッカーばかりでドキュメントが(一部)不親切なDonkeyCarのリポジトリにDokerfileが入っていました。
浜松のunagi.piでDonkeyCarソースコードを読む勉強会に参加したところ、これを実際に動かすことに成功した人がいました。
buildやcmakeの環境を色々考えると面倒ですが、Dockerfileからコンテナを作るだけなら行けそうです。
#クラウドでインストールしても早くならない
調べながらやっているうちに、実際にやって見た人発見。
どうやら浮動小数点演算をハードウェアでやっていないためと思われるスローダウンで、クラウドでやってもあまり高速にはならないそうだ。
#ちょっと目先を変える
64bitのラズパイ4とburstが出るまで待ってから、実際にやってみよう。
JETSONの方がクラウドコンパイルとは相性が良さそう。
なので、raspberrypi4 + Azure を置いて、
JETSON nano + AWS で今から環境のセットアップをやってみることとします。