ラズパイの環境コピー

もろもろ

/dev/sdS
コピー元デバイス

/dev/sdD
コピー先デバイス

母艦 Linux 系のなにか

パーティション分け

第1パーティションに esp のような物を作る必要がある

個人的には

/home 用に lvm を使いたいので / は 8 Gib になってる

$ sudo parted /dev/sdD
mklabel msdos
mkpart primary fat32 8192s 532479s
mkpart primary ext4 532480s 16777215s
quit

第1パーティション(boot)を fat32
第2パーティション(root)を ext4
にしとけばOK

ディスク全体を使う場合

$ sudo parted /dev/sdD
mklabel msdos
mkpart primary fat32 8192s 532479s
mkpart primary ext4 532480s 100%
quit

ふぉーまっと♪

$ mkfs.vfat -F 32 /dev/sdD1
$ mkfs.ext4 /dev/sdD2

そのままw

PARTUUID を調べる

$ sudo blkid /dev/sdS1
/dev/sde1: SEC_TYPE="msdos" UUID="xxxx-xxxx" BLOCK_SIZE="512" TYPE="vfat" PARTUUID="YYYYYYYY-01"

ここで覚えておくのは PARTUUID の YYYYYYYY

/boot パーティション処理

まずはファイルコピー

$ sudo mount /dev/sdS1 /src
$ sudo mount /dev/sdD1 /dst
$ sudo rsync -av /src/ /dst/

次に root partition 指定変更

$ sudo vi /dst/cmdline.txt root=PARTUUID=XXXXXXXX-02
の「XXXXXXXX-02」を上で調べた「YYYYYYYY-02」へ書き換える

アンマウント

$ sudo umount /src /dst

root パーティション処理

##ファイルコピー

$ sudo mount /dev/sdD2 /dst
$ cd /dst
$ sudo dump 0f - /dev/sdS2 | restore rf -

fstab 書き換え

$ sudo vi /etc/fstab
PARTUUID を上で調べた「YYYYYYYY」に書き換える。
基本的に-01とか-02はそのままでOK

コピー先アンマウント

$ cd
$ sudo umount /dst

以上完成

空き領域を LVM で使う場合関連パッケージをインストールする必要がある