imgファイルを縮小する (Win/MacマシンとRPi、USBメモリのみ使用)
たとえば一枚のSDカードをマスターにして多数のカードをコピーする場合、同じ容量のSDカードでも製品やロットが違うと、コピー先の容量がバイト・オーダーで小さいために、作成したimgファイルをコピーができない場合があります。
マスターとなるSDカードを縮小することにより、このような問題を回避できるほか、コピーに要する時間も節約できます。
imgファイルの操作に、Linuxマシンを別途用意する手順などが紹介されていたりしますが、この手順は件名の道具のみ使用します。
(imgの書き込み後は、raspi-config -> Expand Filesystemを実行してパーティションを拡張する必要があります)
-
RPiフォーラムよりコードをコピーし、ローカルのファイルに保存する。
(#!/usr/bin/perlではじまるスクリプト)
ここでは、ファイル名をresizeimage.plとして保存する。
※改行コードLF (\n)で保存すること。 - スクリプトをRPiのホーム・ディレクトリにコピーする。(/home/pi/resizeimage.pl)
- スクリプトのパーミッションを変更する
chmod 755 /home/pi/resizeimage.pl
-
縮小したいimgファイルをUSBメモリにコピーする。
ここでは、ファイル名をshrinkme.imgとする。
(Windowsシステムでimgファイルが4GBを越える場合は、コピー前にUSBメモリのファイルシステムがNTFSになっていることを確認する) - USBメモリを、RPiのUSBスロットに挿入する
- USBメモリをマウントする。
sudo mkdir /mnt/usb
sudo mount /dev/sda1 /mnt/usb - 縮小スクリプトを実行する(縮小前のファイルは上書きされる)
sudo /home/pi/resizeimage.pl /mnt/usb/shrinkme.img