QEMU
ARM 環境の Raspbian イメージを x86 上の Docker で動かす
リンク先でやっていることを解説すると、
- apt で
binfmt-support
とqemu-user-static
をインストールし、異なるアーキテクチャ向けの実行ファイルを見つけたら、qemu(ex. qemu-arm-static)
に実行させるようにする - ラズパイイメージに qemu-arm-static を追加した Docker イメージを作る
これにより Docker コンテナを走らせると qemu-arm-static
がラズパイの実行ファイルを実行してくれる。
NOTE
qemu-user-static
より先に binfmt-support
をインストールしないと binfmt の対応ファイルに qemu が追加されない。対応したかどうかは update-binfmts --display で確認できる。
作成した docker image
https://hub.docker.com/repository/docker/tomboworks/raspios-buster-lite-armhf-with-qemu-arm-static
refs. QEMU のもうひとつの使い方: ユーザーモードエミュレーションと binfmt と chroot の組み合わせ