sheseeの日記: Raspberry pi のSDカードが死んだ場合、他のRaspberry PiのSD イメージから流用する方法 7
日記 by
shesee
Raspberry Pi3はせっかくの64bitコアなんだから、64bit化すればいいのにと思うんだけど、現状ではすべてのバイナリが流用可能なので、他のRaspberry Piが稼働しているなら他のSDカードイメージから流用できる。家には初代B、B+、2、3 と四台のRaspberry Piがある。(まだ動かしてないけどZeroもある)
他のRaspberry piのSDカードを引っこ抜いて、MacかLinuxでddでイメージを抜き出す。
デバイス名はdfやdmesgで必ず確認すること。
$ sudo diskutil umount /dev/disk2
$ sudo dd bs=32m if=/dev/rdisk2 of=./raspberrypi.img
新たなSDカードを調達して、イメージを書き込む。
$ sudo diskutil umount /dev/disk2
$ sudo dd bs=32m if=./raspberrypi.img of=/dev/rdisk2
新たなSDカードを患機に差し込んでブートするが、その前にコピー元のRaspberry Piの電源を落とす。dhcpなら良いが、固定IPの場合IPアドレスが被るからだ。
まずホスト名を変える。
$ sudo raspi-config
すぐにメニュー階層が代わるので邪魔くさいが、ホスト名をここから変更できる。
なおSDカードが大きくなったらここで修正する。
IPアドレスを固定にしている場合は/etc/dhcpcd.confを書き換える。/etc/network/interfaceを書き換えるのは古い方法だ、邪魔くせー。
あとsshのサーバー側のフィンガープリントもコピーされていて問題が起きるので、変える。
$ sudo rm -v /etc/ssh/ssh_host_*key*
$ sudo dpkg-reconfigure openssh-server
なおクライアント側の~/.ssh/known_hosts から該当の公開鍵を削除しておく。最近のsshは厳しくて勝手に置き換えてはくれない。
私的にShairport-syncを運用しているので、/usr/local/etc/shairport-sync.confの名前も変える。
他のRaspberry piのSDカードを引っこ抜いて、MacかLinuxでddでイメージを抜き出す。
デバイス名はdfやdmesgで必ず確認すること。
$ sudo diskutil umount /dev/disk2
$ sudo dd bs=32m if=/dev/rdisk2 of=./raspberrypi.img
新たなSDカードを調達して、イメージを書き込む。
$ sudo diskutil umount /dev/disk2
$ sudo dd bs=32m if=./raspberrypi.img of=/dev/rdisk2
新たなSDカードを患機に差し込んでブートするが、その前にコピー元のRaspberry Piの電源を落とす。dhcpなら良いが、固定IPの場合IPアドレスが被るからだ。
まずホスト名を変える。
$ sudo raspi-config
すぐにメニュー階層が代わるので邪魔くさいが、ホスト名をここから変更できる。
なおSDカードが大きくなったらここで修正する。
IPアドレスを固定にしている場合は/etc/dhcpcd.confを書き換える。/etc/network/interfaceを書き換えるのは古い方法だ、邪魔くせー。
あとsshのサーバー側のフィンガープリントもコピーされていて問題が起きるので、変える。
$ sudo rm -v /etc/ssh/ssh_host_*key*
$ sudo dpkg-reconfigure openssh-server
なおクライアント側の~/.ssh/known_hosts から該当の公開鍵を削除しておく。最近のsshは厳しくて勝手に置き換えてはくれない。
私的にShairport-syncを運用しているので、/usr/local/etc/shairport-sync.confの名前も変える。
一体いつの知識で止まっとんの? (スコア:0)
ドヤ顔でraspi-configしてhostname設定とか朝から笑かすなよ。そこはhostnamectlだろ。
同様に/etc/dhcpcd.confもおかしいだろ。そこは/etc/systemd/network/eth0.networkだろ。
「/etc/network/interfaceを書き換えるのは古い方法だ(ドヤ」とかリアルでクスッと来た。
DebianどころかRaspbianだって、とっくの昔にsystemd化してるんだからそろそろ覚えて欲しいわ。
SSHにしたってrm -f /etc/ssh/*_key*しとけば初起動時に勝手に再生成されるだろ。
もう起動してるんだったら、その場でsystemctl daemon-reload && systemctl reload-or-restartしてもええし。
てかdpkg-reconfigureとかwwwww
こういう人達が頑固にsystemd化に反対しているんだろうなぁ…
そしてsystemd-networkdで済む程度の所で、わざわざdhcpcd入れて使うんだよな。
余計なことしなくともsystemd-timesyncdが勝手にするつっても、数分おきにfake-hwclockぶん回してたり、わざわざntpd上げてたりするんだよ。
勘弁してよ爺さん。
しかもバックアップにddとか…。この人マジでやっとんの?
まして稼働中のRaspberry PiからSD抜いてきて、別のLinuxやMacで操作とか…。バカなの?
んなもん稼働中のRaspberry Piに別のSDをUSBで挿して適所にマウント、んで普通にcpでええやん。
FAT32固定な/bootはともかく、rootfsはソフトウェアでウェアレベリングしてくれるF2FSについでに変えとくだろjk。
# Raspberry Pi 3が64bit化されてないのは、ブートローダ/ファームウェア等のblob類が32bitで降ってくるからだ。
# ゆえにArchLinuxだったとしても2と流用の32bit版が主流。
# とはいえArchWayに乗っ取りU-boot仕様のAArch64版もあるにはあるので、64bit版が使いたいなら使えよ。
Re:一体いつの知識で止まっとんの? (スコア:2)
systemd、もう専用のシェルを作ってほしい……
Re:一体いつの知識で止まっとんの? (スコア:1)
いやいや、複数の方法があってもかまわんでしょ。特定のやり方を押しつけてくるからsystemd厨は嫌われるんだよ。
まあでも新しい方法教えてくれて有り難う。
稼働中のスナップショット取れないFileSystemからコピーするのはお勧めしないけど。クリティカルな分野じゃ無いんだから別にオフラインでも構わないでしょ
わざわざディフォルト設定変えてまで、systemd-networkd.serviceやsystemd-timesyncd.service に切り替えるほどsysystemdは
忠誠心が無い追いきれてないので済まない。inetdの時も徐々に切り替えていったんだから、まあ許してよ。てかsystemdいろんな分野に手を伸ばしすぎ。ホントに管理しきれるのかよ。あとhwclockはDS1307積んでるんだよ。
f2fsはまあ追々試してゆくよ。
Re: (スコア:0)
Re:一体いつの知識で止まっとんの? (スコア:1)
しっsystemdなんか、使って欲しくないんだからねっっ!
Re: (スコア:0)
systemd化に反対する人ってsystemdが”UNIX哲学に反している”という主張だったのでは?
Re: (スコア:0)
こいつラズパイのことになると急に長文書き出してキモいよな。