QEMU

QEMU is a generic and open source machine emulator and virtualizer.

QEMUとDockerを使ってクロスビルド環境を作る

リンク先でやっていることを解説すると、

  • binfmt-supportとqemu-user-staticをaptでインストールし、異なるアーキテクチャ向けの実行ファイルを見つけたら、qemu(ex. qemu-arm-static)に実行させるようにする

  • ラズパイイメージにqemu-arm-staticを追加したDockerイメージを作る

をやってからDockerコンテナを走らせるとqemu-arm-staticがラズパイの実行ファイルを実行してくれる。すばらしい。

警告

qemu-user-staticより先にbinfmt-supportをインストールしないとbinfmtの対応ファイルにqemuが追加されない。対応したかどうかは update-binfmts --display で確認できる。