3
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

ROSが動作するラズパイのクローンを作成する

Posted at

Turtlebot3を動かしているラズパイを数増しするときのメモ。
新しいSDカードに環境を丸ごとコピーしました。

  • 元の環境:Turtlebot3を動かしてるラズパイ

    • Raspberry Pi 4B 4GB
    • micro SD 32GB
    • Ubuntu mate 20.04.4 LTS
  • コピー先(全く同じつもり)

    • Raspberry Pi 4B 4GB
    • micro SD 32GB (Rasbianが入っていたものをフォーマット)

参考にさせていただいたページ

ディスクの認識・確認

ハード・ディスクのパーティションを設定するfdiskコマンドで、デバイスのパーティション情報を表示確認する。

$ sudo fdisk -l
~~~
デバイス       起動 開始位置 最後から   セクタ サイズ Id タイプ
/dev/mmcblk0p1 *        2048   526335   524288   256M  c W95 FAT32 (LBA)
/dev/mmcblk0p2        526336 62929886 62403551  29.8G 83 Linux

上記の場合、コピー元のSDカードは/dev/mmcblk0です。(SDカードを指した状態の結果をコピーし忘れました。)

私の場合、SDカードは'/dev/sda'でした。

ddコマンドでブロックごとコピーする

ddコマンドについて:【 dd 】コマンド――ブロック単位でファイルをコピー、変換する:Linux基本コマンドTips(163) - @IT (itmedia.co.jp)

「dd」コマンドはファイルをブロック単位で読み出し、指定通り変換して出力します ※1。入力と出力にデバイスを指定できるため、HDDのパーティションをコピーする、USBメモリやCD-ROMのバックアップを取る、といった使い方が可能です。

下記コマンドでコピーします。

$ sudo dd if=/dev/(コピー元のSDカード) of=/dev/(ターゲットカード) bs=10M

私の場合は下記コマンドでした。

$$ sudo dd if=/dev/ mmcblk0 of=/dev/sda bs=10M

30分くらい待ったら完了しました。
新しいSDカードを別のラズパイにさして起動すると、無事コピー環境が立ち上がりました。

おまけ

古いラズパイの時と同じIPアドレスで、新しいOSを立ち上げてssh接続しようとしたら怒られました。

SSHでは初回接続時に接続先ホストの公開鍵を保存しておき、次回接続時にホスト鍵を比較して前回と同じホストに接続したかを確認するような仕組みになっています。そのため、IPアドレスの振り直しやOS再インストールなどでホスト鍵が変わってしまった場合、次のようなエラーメッセージが出てSSH接続が失敗してしまいます。

known_hostsファイルからホスト鍵を削除してから、接続しました。

ssh-keygen -R [接続先IPアドレス]
3
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?