header

imgファイルを縮小する (Win/MacマシンとRPi、USBメモリのみ使用)

たとえば一枚のSDカードをマスターにして多数のカードをコピーする場合、同じ容量のSDカードでも製品やロットが違うと、コピー先の容量がバイト・オーダーで小さいために、作成したimgファイルをコピーができない場合があります。
マスターとなるSDカードを縮小することにより、このような問題を回避できるほか、コピーに要する時間も節約できます。
imgファイルの操作に、Linuxマシンを別途用意する手順などが紹介されていたりしますが、この手順は件名の道具のみ使用します。
(imgの書き込み後は、raspi-config -> Expand Filesystemを実行してパーティションを拡張する必要があります)

  1. RPiフォーラムよりコードをコピーし、ローカルのファイルに保存する。 (#!/usr/bin/perlではじまるスクリプト)
    ここでは、ファイル名をresizeimage.plとして保存する。
    ※改行コードLF (\n)で保存すること。
  2. スクリプトをRPiのホーム・ディレクトリにコピーする。(/home/pi/resizeimage.pl)
  3. スクリプトのパーミッションを変更する
    chmod 755 /home/pi/resizeimage.pl
  4. 縮小したいimgファイルをUSBメモリにコピーする。
    ここでは、ファイル名をshrinkme.imgとする。
    (Windowsシステムでimgファイルが4GBを越える場合は、コピー前にUSBメモリのファイルシステムがNTFSになっていることを確認する)
  5. USBメモリを、RPiのUSBスロットに挿入する
  6. USBメモリをマウントする。
    sudo mkdir /mnt/usb
    sudo mount /dev/sda1 /mnt/usb
  7. 縮小スクリプトを実行する(縮小前のファイルは上書きされる)
    sudo /home/pi/resizeimage.pl /mnt/usb/shrinkme.img