タイトルの意味が分かりにくい。
つまりこういうこと。
もともと本家から提供されたUbuntuのイメージのサイズは、圧縮時に962MB、解凍時に3.49GBだ。
これは4GBのSDカードに焼けて、そのサイズ内で運用できるサイズだ。
これを、16GBのSDカードに焼いて使い、バックアップのためにWin32DiskImagerで保存すると、14.8GBになってしまう。
つまり、10GB程度は未使用のはずなのに、ファイルは16GBのSDカードの容量に応じた大きさになる。
この無駄な10GBを省いたイメージをつくる手順を書く。
Ubuntuの環境が必要だ。
VMware上のUbuntu 16.04で作業した。
1.Ubuntu PCに Orange Pi PC2で使っているmicroSDを挿す。
2.パーティションの最終セクタ番号を確認する。
microSD が /dev/sdb として認識されている例では、
sudo fdisk -l /dev/sdb
と入力すると、以下のように表示される。
3.上のサイズに+1した値を指定してイメージを作成するために、以下のように入力する。
sudo dd if=/dev/sdb of=/home/sahara/opipc2_20161212.img count=7395328 bs=512
ここではファイル名を opipc2_20161212.img とした。
保存するフォルダは、どこがいいんだか良く分からない。
とりあえず /home/sahara/ に置いてみた(sahara はログインしているユーザー名)。
4.待つ。
3.8GBとコンパクトというか、実サイズになる。
8分程度で済むのもうれしい。
VMware Toolsが入っていれば、仮想のUbuntuとホストのWindowsとの間でファイルを移動できるので、Windows側へ移動させておく。
SDFormatterでフォーマットしたSDカードに、Win32 Disk Imagerでこのイメージを書き込み、Orange Pi PC2が問題なく動くことを確認した。
追記
上は、Class4のSDカードでの結果。
その後、[Transend TS-RDF5 USBカードアダプター]+[Class10 8GB SDカード]+[USB 3.0コネクタ]の組み合わせでやってみたら、2分かからずに終了した。
追記(2018/01/21)
別のPCに同じ環境を作って同じことをやって気づいたこと。
USB 3.0の設定を明示的にしないと初期設定ではUSB 2.0のようでカードを認識しなかった。
ホストへファイルを移す前に圧縮した方が良いが、GUIでやると圧縮にめっぽう時間がかかる。
ターミナルでやる方が速い。
例えば、
zip archive_filename img_filename
とやる。