Model BのSDカードをバックアップしてModel B+のマイクロSDカードにリストアして調整する

Raspberry Pi Model B+を買いましたがまた最初から設定するのはごめんこうむりたい。。

ということで、Model Bで使っているSDカードをバックアップして、それをModel B+のマイクロSDカードにリストアして調整することで、全部最初から設定するのではなく、一部調整することで、面倒を逃れることにしました。


SDカードをバックアップしてマイクロSDカードにリストアする

まずはModel BのSDカードのデータをWin32DiskImagerを使ってWindowsパソコンに引き抜きます。

実稼働中のRaspberry Pi Model BのSDカードを引っこ抜いて、カードリーダーに挿入してパソコンにつなげて、Win32DiskImagerを起動します。そしてパソコンのどこか適当なところに、SDカードのimgファイルを作成します。

私の場合は、D:/にimgファイルを作成します。
場所とimgファイルの名前を入力して、Readボタンを押します。



SDカードの種類によって異なりますが、
私の場合は10分ほどでRaspberry Piのimgファイルの作成が完了しました。
(読み込みスピード16.5MB/sくらい)

8GBのSDカードなので、imgファイルも8GBくらいになります。

作成したimgファイルを今度はマイクロSDカードに書き込みます。


マイクロSDカードをカードリーダーに挿入して、
先ほど作成したイメージファイルを指定してWriteボタンを押します。

10分ちょっとでマイクロSDカードへの書き込みが完了しました。
(書き込みスピードは12.8MB/sくらい。)

リストアしたマイクロSDカードを調整するon Model B

リストアしたマイクロSDカードをマイクロSDアダプターに挿入してSDカード化して、実稼働を止めていたRaspberry Pi Model Bに挿入して稼働中にします。

ここで必要最低限の調整をしてマイクロSDカードをModel B+で使えるようにします。

現状Raspberry Pi Model Bが稼動している中で、
同じ設定でRaspberry Pi Model B+が動くと問題が出てくるのでいくつか変更します。


SSHのポートを変更する
cd /etc/ssh
sudo vim sshd_config
#Port 61209
Port 61210

SSHのファイアウォールを変更する
sudo ufw delete limit 61209
sudo ufw limit 61210

固定IPを変更する
sudo vim /etc/network/interfaces
auto lo
iface lo inet loopback
#iface eth0 inet dhcp
iface eth0 inet static
#address 192.168.0.121
address 192.168.0.122
netmask 255.255.255.0
gateway 192.168.0.1

auto wlan0
allow-hotplug wlan0
#iface wlan0 inet manual
iface wlan0 inet static
#address 192.168.0.121
address 192.168.0.122
netmask 255.255.255.0
gateway 192.168.0.1

#wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
iface default inet dhcp

リブートしてアクセスできるか確認する。
sudo reboot

既存のセッション情報を保存して、
新しいセッションを作成する。

Puttyのホストとポート番号の変更をする。

ホスト名
192.168.0.121 → 192.168.0.122

ポート番号
52091 → 52092

問題なくアクセスできた。

Raspberry Pi Model Bの電源引っこ抜いて、
マイクロSDカードを取り出して、Model B+に挿入。

SDカードをModel Bに挿入して電源入れて実稼動を再開させる。

以降Model B+の細かい調整をModel B+上で行う。

細かい調整をするon Model B+

上記の調整でSSHのポート番号もローカルIPも衝突しなくなりました。

ここからは細かい調整を行っていきます。


Raspberry Pi Model B+から
df -h
Filesystem      Size  Used Avail Use% Mounted on
rootfs          7.4G  2.8G  4.3G  40% /
/dev/root       7.4G  2.8G  4.3G  40% /
devtmpfs        183M     0  183M   0% /dev
tmpfs            38M  232K   38M   1% /run
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs            75M     0   75M   0% /run/shm
/dev/mmcblk0p1   56M  9.6M   47M  18% /boot

16GBのマイクロSDカードですが8GBのSDカードしか割り当ててありません。
まず最初に16GBになるように割り当てます。

参考: Raspberry Pi のSDカードを大容量なものに変更する

sudo fdisk /dev/mmcblk0
Command (m for help): p
Disk /dev/mmcblk0: 15.9 GB, 15931539456 bytes
4 heads, 16 sectors/track, 486192 cylinders, total 31116288 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
Disk identifier: 0x000b5098

        Device Boot      Start         End      Blocks   Id  System
/dev/mmcblk0p1            8192      122879       57344    c  W95 FAT32 (LBA)
/dev/mmcblk0p2          122880    15890431     7883776   83  Linux

Command (m for help): d
Partition number (1-4): 2

Command (m for help): p
Disk /dev/mmcblk0: 15.9 GB, 15931539456 bytes
4 heads, 16 sectors/track, 486192 cylinders, total 31116288 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
Disk identifier: 0x000b5098

        Device Boot      Start         End      Blocks   Id  System
/dev/mmcblk0p1            8192      122879       57344    c  W95 FAT32 (LBA)

Command (m for help): n
Partition type:
   p   primary (1 primary, 0 extended, 3 free)
   e   extended
Select (default p): p
Partition number (1-4, default 2): 2
First sector (2048-31116287, default 2048): 122880
Last sector, +sectors or +size{K,M,G} (122880-31116287, default 31116287): 31116287

Command (m for help): p
Disk /dev/mmcblk0: 15.9 GB, 15931539456 bytes
4 heads, 16 sectors/track, 486192 cylinders, total 31116288 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
Disk identifier: 0x000b5098

        Device Boot      Start         End      Blocks   Id  System
/dev/mmcblk0p1            8192      122879       57344    c  W95 FAT32 (LBA)
/dev/mmcblk0p2          122880    31116287    15496704   83  Linux

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.

sudo reboot

あれ、アクセスできなくなった・・・。
電源を引っこ抜いて、電源を再度入れたら、アクセスできるようになった。

リブートじゃダメなのかな?

引き続きRaspberry Pi Model B+から
df -h
Filesystem      Size  Used Avail Use% Mounted on
rootfs          7.4G  2.8G  4.3G  40% /
/dev/root       7.4G  2.8G  4.3G  40% /
devtmpfs        183M     0  183M   0% /dev
tmpfs            38M  232K   38M   1% /run
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs            75M     0   75M   0% /run/shm
/dev/mmcblk0p1   56M  9.6M   47M  18% /boot

sudo resize2fs /dev/mmcblk0p2
resize2fs 1.42.5 (29-Jul-2012)
Filesystem at /dev/mmcblk0p2 is mounted on /; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 1
The filesystem on /dev/mmcblk0p2 is now 3874176 blocks long.

df -h
Filesystem      Size  Used Avail Use% Mounted on
rootfs           15G  2.8G   12G  20% /
/dev/root        15G  2.8G   12G  20% /
devtmpfs        183M     0  183M   0% /dev
tmpfs            38M  232K   38M   1% /run
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs            75M     0   75M   0% /run/shm
/dev/mmcblk0p1   56M  9.6M   47M  18% /boot


ということで無事16GBの割り当てを行うことができました。15Gって書いてあるけど気にしない!


あとはlighttpdとcronjobを止めて完了です。
sudo service lighttpd stop
[ ok ] Stopping web server: lighttpd.

sudo service cron stop
[ ok ] Stopping periodic command scheduler: cron.

Raspberry Piを再起動したらlighttpdとcronも再起動してしまった。。

自動起動の設定を見てみる
chkconfig --list
-bash: chkconfig: command not found

sudo apt-get install chkconfig

chkconfig --list
cron                      0:off  1:off  2:on   3:on   4:on   5:on   6:off
lighttpd                  0:off  1:off  2:on   3:on   4:on   5:on   6:off
その他ズラズラとリストが表示された

cronは停止させなくてコメントアウトにすることにした。
crontab -e
#*/10 * * * * wget -q -O /dev/null http://mydns112345:hogehoge@www.mydns.jp/l$

lighttpdの自動起動を停止する
sudo chkconfig lighttpd off

chkconfig --list
lighttpd                  0:off  1:off  2:off  3:off  4:off  5:off  6:off

あとはついでにUSBポートの電力供給能力を増やす
sudo  /boot/config.txt
safe_mode_gpio=4
max_usb_current=1

こでで0.6Aだったのが1.2Aまで供給できるようになるそうです。


以上で調整完了です。

本稼動しているRaspberry Pi Model Bはそのままにして、
今後はRaspberry Pi Model B+を使っていろいろ試していきます。

試し終わって問題ないようならModel Bに移植する感じで行きます。

コメントを残す

メールアドレスが公開されることはありません。