ちょっと前に、Raspberry PiのSDカードの移し替えとか拡張をする方法を探している人が何人かいたので、以前のJAMで解説したNOOBSイメージの作り方を紹介してみたら、どちらもしばらく反応がなかったのですが、片方でDDでやりました!今後の需要のために手順を載せます!とあって、ああー……となったのでこそっとブログに書いておきます。
NOOBSイメージを作っても、DDで頑張っても、どちらでも移し替えだとか拡張だとかに相当する作業はできます。なので、当人には返信はしませんでした。ただし、メリット・デメリットを挙げた時、個人的にはNOOBSイメージ作成のほうが有利だと考えています。以下にざっと比較表(主観です)を載せたあと、比較していきます。
NOOBSイメージ作成 | DDによるコピー | |
手間 | かんたん | めんどい |
イメージ作成・展開時間 | 短い | 長い |
イメージサイズ | 小さい | 大きい |
使い回し | 効く | 効く |
手間
NOOBSイメージを作るときはSDカードの中身をtarコマンドで固めてxz形式で圧縮するだけです。あ、いや、いくつか設定ファイルを書く必要もあります。ただし、それだけです。展開時は、NOOBSのosディレクトリに自前のイメージを忍び込ませればOKです。
対してDDの場合、DDでSDから吸い出し、書き込みまでは簡単ですが、拡張などの操作が必要な場合はパーティション操作が必要です。サイズ指定を間違えると壊れますし、デバイス指定を間違えると作業しているマシンを破壊する可能性もあります。
イメージ作成・展開時間
DDの場合は大変わかり易く、SDカードのサイズの分だけ読み書きが発生します。たとえ使用していないゼロばかりの領域も読み書きするため、時間がかかります。あと、無意味なゼロばかりの領域の読み書きでもSDカードの読み書き回数を消費します。要するに寿命を縮めます。
NOOBSの場合は、要するにただのファイルコピーになるので、DDの場合のように使用していないゼロばかりの領域の読み書きというものがない分早く、無駄がありません。
イメージサイズ
こちらもDDの場合は大変わかり易く、イメージの保管にはSDカードのサイズの分だけの容量が必要です。8GBのSDカードなら8GB、16GBのSDカードなら16GBのディスクサイズが必要です。そしてその中身の大半は(使用内容によりますが)ほとんどゼロで埋まってます。圧縮すれば縮みますが、展開時には解凍しないといけません。パイプでなんとかできるかも知れませんが、いちいち調べたり、エイリアスを貼ったりするのは手間じゃないでしょうか。
NOOBSの場合は、SDカード内のファイルシステムの使用量とほぼ同等のtarアーカイブを圧縮したものがイメージサイズとなるため、DDに比べてだいぶコンパクトになります。NOOBSの中のRaspbianのイメージサイズは約550MBです。私が作った最小版Raspbianはたったの100MBです。展開はNOOBSがやってくれるので、解凍などのことは気にせず、osディレクトリに配置するだけで良いのです。
使い回し
テンプレート化して使いまわすことは、どちらでも可能です。
ただし、コンパクトなNOOBSイメージを短時間で展開するのと、例えば8GBのDDイメージを長時間かけて展開するのと、どちらが良いかと言う話です。
まとめ
好きな方をつかってください。
実際のやり方は……NOOBSの方だけ資料のURLを貼っておます。DDの方は検証していないしする気力もないので……。