Open3

Linux得意じゃない人がRaspberry Piのカスタムイメージを作ってみたいスレ

mactkgmactkg

GWの自由研究にRaspberry Piのカスタムイメージを作りたい。Raspberry Piのイメージはこの pi-gen というやつで自作できるらしいことまでわかった。

https://github.com/RPi-Distro/pi-gen

DockerでBuildできるらしいので、Apple Siliconの乗ったMBAでBuildしてみようとしたが、この環境ではうまくBuild出来なかった。

クローゼットからIntel ChipのMBPを引っ張り出してBuildしてみたところ、今のところうまくいってる。Dockerの詳細を知らないのだが、確かkernelか何かを共有していた気がしており、その辺りが影響しているのかな。わからないことは次のような形式でまとめていくことにする。

mactkgmactkg

とりあえず数日色々いじっていた。
とりあえずやりたいことはできた。

https://github.com/mactkg/pi-gen/commit/1785837f01014fda1390d16c724543388d310df5

わかったこと。というかハマったこと。

  • 各ステージごとにスクリプトのまとまりが作れる。
    • その中に置いてある命名規則に従ったファイルは、名前順に実行されていく。
    • 01-run.sh は、 00-run.sh の後に実行される。
    • 実行権限がないと実行されない
    • 00-run-chroot すると chroot 環境で実行されるけど、 run.sh の中でも on_chroot に文字列を渡せばそれがchroot環境でevalされるみたい。
  • 各ステージに SKIP ファイルを作ると、そのステージはスキップできる。
  • 各ステージに SKIP_IMAGE ファイルを作ると、そのステージはIMAGE書き出し時に無視される。
  • chroot環境がどこを示しているのかいまいちわからない。

https://qiita.com/autch/items/c8c9cdc7b8e5821e81a4

この記事はわかりやすかった。chrootが何で、qemuが何で、binfmtが何で。ということが最後書いてある。