2018-05-05

 無事回復したraspberry piであるが、再度おかしくなると怖いのでバックアップを取得する。
 今まではSDカードを抜いてmacでSDカードの中身を.img形式に取得してきたのだが、時間が掛かることと、バックアップを書き戻す先のSDカードは容量がオリジナルと完全に等しいか大きいものとする必要があった。各所に書かれている通り16GBのSDカードと称していても微妙に容量が異なるのである。

 調べたところ、rpi-cloneが便利そうである。これはCLIで動作するのでjessie liteに適合する。

 git hubで公開されているので、先ずはgitを導入する。


pi@raspberrypi1:~ $ sudo apt-get install git
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
以下の追加パッケージがインストールされます:
  git-man libcurl3-gnutls liberror-perl
(中略)
git-man (1:2.1.4-2.1+deb8u5) を設定しています ...
git (1:2.1.4-2.1+deb8u5) を設定しています ...
libc-bin (2.19-18+deb8u10) のトリガを処理しています ...

 導入後、rpi-cloneを導入する。

pi@raspberrypi1:~ $ sudo git clone https://github.com/billw2/rpi-clone.git
Cloning into 'rpi-clone'...
remote: Counting objects: 158, done.
remote: Total 158 (delta 0), reused 0 (delta 0), pack-reused 158
Receiving objects: 100% (158/158), 75.04 KiB | 0 bytes/s, done.
Resolving deltas: 100% (59/59), done.
Checking connectivity... done.

 導入後、一式を/usr/local/sbin以下にcopyする。

pi@raspberrypi1:~ $ ls
rpi-clone
pi@raspberrypi1:~/rpi-clone $ sudo cp rpi-clone /usr/local/sbin
pi@raspberrypi1:~/rpi-clone $ type rpi-clone
rpi-clone は /usr/local/sbin/rpi-clone です

 SDカードリーダにSDカードを挿入後、raspberry piへUSB接続。認識されているかを確認。認識されていない場合は再接続してみる。

pi@raspberrypi1:~/rpi-clone $ lsusb
Bus 001 Device 004: ID 0411:0259 BUFFALO INC. (formerly MelCo., Inc.)
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet Adapter
Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

 マッピングを確認する。/dev/sdcとして認識された。

pi@raspberrypi1:~/rpi-clone $ sudo fdisk -l

Disk /dev/ram0: 4 MiB, 4194304 bytes, 8192 sectors
Units: sectors of 1 * 512 = 512 bytes
(中略)
Device         Boot  Start      End  Sectors  Size Id Type
/dev/mmcblk0p1        8192   137215   129024   63M  c W95 FAT32 (LBA)
/dev/mmcblk0p2      137216 31116287 30979072 14.8G 83 Linux

Disk /dev/sdc: 14.5 GiB, 15552479232 bytes, 30375936 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x00000000

Device     Boot Start      End  Sectors  Size Id Type
/dev/sdc1        8192 30375935 30367744 14.5G  c W95 FAT32 (LBA)

 認識された/dev/sdcへ書き込みをする。
 途中でext4のパーティションの名前をどうするか?と質問されるが、元々付与されていないので、そのままenterで続行して良い。
 完了したら、shutdown後、SDカードを入れ替えて起動してみる。


root@raspberrypi1:/home/pi/rpi-clone#  rpi-clone sdc --force-initialize

Booted disk: mmcblk0 15.9GB                Destination disk: sdc 15.6GB
---------------------------------------------------------------------------
Part      Size    FS     Label           Part   Size    FS  Label
1 /boot   66.0MB  fat16  --              1      15.5GB  --  --
2 root    15.9GB  ext4   --
---------------------------------------------------------------------------
== Initialize: IMAGE mmcblk0 partition table to sdc - forced by option ==
1 /boot               (23.6MB used)  : IMAGE     to sdc1  FSCK
2 root                (6.5GB used)   : RESIZE(15.5GB) MKFS SYNC to sdc2
---------------------------------------------------------------------------
Run setup script       : no
Verbose mode           : no
-----------------------:
** WARNING **          : All destination disk sdc data will be overwritten!
                       :   The partition structure will be imaged from mmcblk0.
-----------------------:

Initialize and clone to the destination disk sdc?  (yes/no): y
Optional destination  ext type file system label (16 chars max):

Initializing
  Imaging past the start of /boot partition 2.
  => dd if=/dev/mmcblk0 of=/dev/sdc bs=1M count=71 ...
  Resizing last partition to end of disk ...
    Resize success.
  Changing destination Disk ID ...
  Delaying so partprobe can update /dev entries ...
  => fsck -p /dev/sdc1 ...
  => mkfs -t ext4  /dev/sdc2 ...

Syncing file systems (can take a long time)
Syncing mounted partitions:
  Mounting /dev/sdc2 on /mnt/clone
  => rsync // /mnt/clone with-root-excludes ...
  Mounting /dev/sdc1 on /mnt/clone/boot
  => rsync /boot/ /mnt/clone/boot  ...

===============================
Done with clone to /dev/sdc
   Start - 08:34:08    End - 09:15:01    Elapsed Time - 40:53

Cloned partitions are mounted on /mnt/clone for inspection or customizing.

Hit Enter when ready to unmount the /dev/sdc partitions ...
  unmounting /mnt/clone/boot
  unmounting /mnt/clone
===============================


0 コメント:

自己紹介

自分の写真
東京都, Japan
憂鬱な凍死家です。こちらではmixiとは異なり固めの話題中心です。

Total Page View

Categories

Powered by Blogger.

Popular Posts

Blog Archive