Bisakah saya mengkloning seluruh Raspberry Pi saya untuk ditempatkan ke Raspberry Pi lain?


12

Saya tidak yakin apakah semua topik "bagaimana cara membuat cadangan kartu SD Anda" adalah apa yang saya minta ... tapi ini dia :)

Apakah ada cara saya bisa membuat klon 100% Raspberry Pi saya dan hanya menyebarkannya ke Raspberry Pi lain? Jadi saya punya dua salinan yang persis sama ... Atau ini dilakukan dengan mengkloning kartu SD menggunakan perintah built-in dd ?

Alasan saya bertanya adalah bahwa Raspberry Pi saya sepenuhnya dikonfigurasikan dengan Apache , PHP dan beberapa perpustakaan lainnya dan sekarang saya hanya ingin klon lain dengan konfigurasi yang sama persis, dll.

Apakah ini mungkin atau apakah saya menjawab pertanyaan saya sendiri?


Saya terkejut bahwa piclone belum disebutkan sejauh ini. Bagi saya itu cara yang paling mudah mengkloning kartu sd pada rpi, dan nvere punya masalah dengan itu. Saya sudah menjawab pertanyaan ini di masa lalu jadi di sini ada tautan ke jawaban dengan beberapa perincian lebih lanjut: raspberrypi.stackexchange.com/questions/66824/... Semoga ini bisa membantu.
LecauseAndThePi

Saya tidak dapat menemukan unduhan piclone di mana pun
Elia Weiss

Anda tidak perlu mengunduhnya, itu sudah ada di sana. Cukup ketik piclone di terminal, dan itu akan meluncurkan GUI.
LecauseAndThePi

Jawaban:


9

@naboovalley:

Misalkan skenario berikut:

  • Pada Raspberry Pi Anda, pergi ke terminal dan kemudian pergi ke direktori / dev. Anda harus melihat, di antara perangkat lain, mmcblk0, mmcblk0p1 dan mmcblk0p2.
  • mmcblk0 adalah perangkat kartu SD "telanjang", sedangkan mmcblk0p1 adalah partisi pertama dari kartu SD yang berisi gambar kernel dan seterusnya dan mmcblk0p2 adalah partisi kedua dari kartu SD yang berisi sistem file root.
  • Matikan Raspberry Pi Anda dengan cara yang layak (ketikkan perintah "shutdown", mungkin sebagai root)
  • Masukkan kartu SD ke mesin Linux lain. Biasanya, direktori yang disebutkan di atas harus secara otomatis dipasang di / media / dan harus ada 2 subdirektori di sana (satu untuk partisi 1 kartu SD, satu untuk partisi 2 kartu SD)
  • Anda telah membuat direktori temp untuk menyalin konten kartu SD Anda. Mengatakan:~/tmp
  • Anda berada di ~/tmp

Anda sekarang dapat menyalin konten dari partisi pertama dari kartu SD asli asli dengan mengeluarkan perintah rsync berikut:

rsync -avn /media/<user>/<partition1> .

Jangan tidak menaruh /di akhir! Perintah di atas akan "menjalankan kering", yang berarti akan menunjukkan kepada Anda apa yang akhirnya akan dilakukan, tetapi tidak akan menjalankannya secara nyata.

Untuk mengeksekusi nyata (setelah Anda mengonfirmasi bahwa menjalankan kering melakukan apa yang harus dilakukan), Anda dapat menghapus ndari perintah di atas (jadi, rsync -av /media/<user>/<partition1> .).

Gunakan perintah yang sama untuk partisi lain.

Sekarang Anda harus memiliki salinan persis kartu SD asli Anda di mesin Linux Anda.

Lepaskan kartu SD asli, letakkan kartu SD lain - yang diformat dengan benar di mesin Linux Anda dan jalankan perintah rsync berikut:

rsync -avn <partition1> /media/<user>

Sekali lagi ini adalah proses yang kering, yang akan menunjukkan kepada Anda bahwa konten <partition1>dalam /media/<user>akan disalin ke kartu SD.

Setelah Anda mengonfirmasi semua baik-baik saja, Anda dapat lagi menghapus ndari rsyncperintah.

Lakukan hal yang sama untuk partisi kedua.

Ini akan memberi Anda salinan persis dari kartu SD asli ke kartu SD lainnya.

Catatan: Saya memeriksa semua ini di mesin Lubuntu. Direktori dan nama dapat berbeda di distro Linux lainnya.

Perhatikan juga bahwa item di antaranya < >adalah penampung dan Anda harus melihat sendiri bagaimana mereka cocok dengan lingkungan Anda.


Sempurna. Terima kasih! Akankah copy "dd" melakukan hal yang sama seperti yang Anda jelaskan atau apakah rsync jauh lebih baik melakukan sistem lengkap menyalin seperti yang saya inginkan?
naboovalley

Saya tidak punya banyak pengalaman dengan ddperintah, jadi saya tidak tahu, maaf ...
GeertVc

Saya tidak mendapatkan sepenuhnya bagian di mana Anda mengatakan "- diformat dengan benar - kartu SD". Apakah kita harus memformat kartu SD dengan partisi FAT32 dan ext4 berukuran benar? Terima kasih
Romain Vincent

7

Ya, Anda dapat menggunakan ddatau Imager Disk Win32 pada Windows untuk mengambil gambar yang tepat dari satu kartu ke kartu lainnya. Namun, kartu tujuan harus berukuran sama atau lebih besar agar praktis.

Anda juga bisa menyalin semua file di sistem file sumber Anda ke sistem file tujuan. Artinya, colokkan kartu tujuan Anda ke pembaca kartu USB dan tempelkan pada sumber Anda Raspberry Pi. Kemudian SSH masuk dan keluarkan perintah salin yang sesuai.

Satu hal yang perlu diingat juga, adalah jika Anda telah membeli kunci lisensi untuk decoding perangkat keras MPEG-2 atau VC-1 . Ini terkait dengan perangkat keras Anda, jadi Anda harus memastikan Anda mengedit /boot/config.txt pada salinan Anda.


Jadi SD-card menampung semua file khusus sistem dan pustaka yang diinstal? Saya tidak perlu menjalankan perintah penginstalan saat memasukkan salinan kartu SD yang dikloning ke R-Pi # 2?
naboovalley

2
Ini juga dapat menyajikan masalah dengan Kunci SSH dan alamat IP.
Steve Robillard

Jadi pada R-Pi # 2 mungkin berpikir alamat-ip sama dengan R-Pi # 1? Saya kira saya bisa menyegarkannya untuk mendapatkan ip jaringan baru?
naboovalley

Jika Anda menggunakan DHCP, RPi akan menerima IP baru saat boot secara otomatis, tetapi Anda harus mengubah nama host jika Anda berencana untuk menggunakan keduanya di subnet yang sama. Jika Anda menggunakan ip tetap, Anda harus mengubah IP dan nama host
Roberto

Jika saya melihat filesystem saya ("df") saya memiliki sesuatu yang disebut "rootfs" 2.1GB dan / dev / root 2.1GB - kartu sd / dev / mmcblk0 saya hanya membutuhkan 10M. Jadi ketika saya menyalin "mmcblk0" seluruh sistem saya akan dimasukkan? Terima kasih
kawan

6

Anda bisa menyalin dengan dd seperti yang disarankan @ me--, tetapi itu tidak semua yang harus Anda lakukan ketika mengkloning suatu sistem. Ada pengidentifikasi sistem unik tertentu yang harus diubah juga.

Kata sandi harus disetel ulang sehingga menggunakan garam baru. Ini membuat orang tidak tahu Anda menggunakan kata sandi yang sama dua kali. Jalankan passwdperintah sebagai pengguna Anda (biasanya pi ) dan sebagai root.

Jika Anda menggunakan SSH, kunci SSH harus dibuat ulang. Ini penting misalnya, untuk memastikan bahwa jika seseorang mencuri satu Raspberry Pi, mereka tidak dapat mendekripsi komunikasi ke yang lain. Jalankan saja perintah ini:

sudo rm /etc/ssh/ssh_host_*

Akhirnya dan yang paling penting, Anda perlu mengubah nama host. Jika pada pengaturan standarnya adalah raspberrypi . Jika Anda seperti saya, saya ssh ke nama host Raspberry Pi, jadi saya lakukan ssh raspberrypi. Memiliki dua "raspberrypis" di jaringan membuat berhenti bekerja, jadi yang kedua harus diubah namanya menjadi rasberrypi2 misalnya. Anda dapat melakukan perubahan ini dengan sudo raspi-config, memilih Advanced Options, lalu memilih Hostname.


raspi-configtidak tersedia untuk Raspbmc . Mungkin cara manual mengatur nama host harus dijelaskan?
Peter Mortensen


Untuk referensi, raspberrypi.stackexchange.com/questions/3926/… mencakup mengubah nama host di bawah Raspbmc.
Fred

4

Mengkloning micro SD untuk cadangan atau untuk memindahkan sistem Anda ke RPi3 lain dibangun sebagai aksesori, setidaknya pada versi sistem operasi yang saya dapatkan di SD startup NOOBS:

  • Pergi ke aksesori;
  • Hit Salin SD ;
  • Tempatkan micro SD kosong di dudukan USB;
  • Tempat dudukan di slot USB terbuka;
  • Pilih SD baru;
  • Hit copy.

Ini seharusnya jawaban yang benar. Begitu mudah.
Jordan

1

Anda dapat melakukannya dengan menggunakan raspberry pi dan kartu SD moto baru yang terhubung melalui USB. Versi terbaru dari perangkat lunak Raspberry Pi memiliki perangkat lunak builtin yang disebut SD cardcopier di bawah asesoris yang melakukan hal ini.

Anda memilih kartu asli Anda (jadi kartu tempat Anda boot) sebagai Sumber dan kartu kosong yang diformat baru (terhubung melalui pembaca kartu ke usb pada pi) sebagai Tujuan. UI yang cukup sederhana dan bekerja untuk saya pertama kali. Opsi baris perintah pada mac menggunakan dd entah bagaimana akhirnya memiliki masalah panik kernel.


0

Alat yang sangat aman dan andal untuk menyalin hal-hal seperti sistem file root (karena tautan yang ada di sistem file root) adalah rsync. Alat ini akan memperhitungkan semua hal yang diperlukan seperti cap waktu, tautan, izin, ... Sangat cocok untuk menyalin hal-hal seperti yang ingin Anda lakukan.


Tapi saya masih hanya menyalin konten sd-card untuk duplikat sistem lengkap - atau apakah saya perlu memasukkan sesuatu yang lain? Terima kasih
naboovalley

Lihat balasan baru yang saya posting di bawah ini.
GeertVc
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.