Raspberry Piのプロジェクトに携わったことがある方なら、.img
ファイルがすぐに巨大化してしまうことをご存知でしょう。バックアップ、共有、展開のいずれにおいても、イメージをスリムに保つことは非常に重要です。そんな時に便利なのが PiShrink です。
PiShrinkは、Raspberry Pi OSのイメージを自動で圧縮・最適化してくれるシェルスクリプトですが、Linux環境が必要で、macOSやWindowsではそのままでは動作しません。
この問題を解決するために、Dockerベースの軽量ラッパーを開発しました。これにより、DockerがインストールされていればどのOSでも .img
ファイルを圧縮・縮小できるようになります。
どの環境でも動作:macOS、Windows、Linux すべてに対応
面倒な設定不要:Linuxツールのインストールや依存関係の解決は不要
圧縮対応:オプションで xz
圧縮によりさらにサイズを削減可能
安全でクリーン:--rm
によりコンテナは一時的に実行され、環境を汚しません
PiShrinkの公式スクリプトと必要な依存パッケージを含んだDockerイメージを作成しています。シンプルなラッパースクリプトを使っても良いですし、docker run
で直接実行することも可能です。
docker run --rm --privileged -v /dev:/dev -v "$PWD:/data" pishrink image.img
docker run --rm --privileged -v /dev:/dev -v "${PWD}:/data" pishrink image.img
docker run --rm --privileged -v /dev:/dev -v "%cd%:/data" pishrink image.img
docker run --rm --privileged -v /dev:/dev -v "$PWD:/data" pishrink -Z -a image.img
実行後、image.img.xz
が同じディレクトリに出力されます。
GitHubのリポジトリに詳細なセットアップ手順と使用例があります:
👉 https://github.com/keyqcloud/pishrink-docker
Raspberry Piを使ったヘッドレス構成、IoTデバイス、またはシンプルにクリーンな.img
ファイルを求める開発者にとって、このツールは時間とストレージの節約に役立ちます。
CI/CDパイプラインや自動デプロイへの組み込みをご検討の方は、ぜひKeyQまでご相談ください。