Kirjoittaja Aihe: [ ratkaistu ] dd:n käyttö Pi:n kortin kopioimiseen  (Luettu 4005 kertaa)

teele

  • Käyttäjä
  • Viestejä: 852
    • Profiili
Tarkoitus olisi yrittää kopioida Rasberry Pi 3 B:n käyttöjärjestelmäkortti eli microsd-kortti toiselle samanlaiselle kortille. Netistä löytyi ohje

https://www.raspberrypi.org/documentation/linux/filesystem/backup.md,

jossa neuvotaan ensin kopioimaan kortti tiedostoksi esim. läppäriin

Koodia: [Valitse]
sudo dd bs=4M if=/dev/sdb of=raspbian.img
ja sitten takaisin toiselle kortille

Koodia: [Valitse]
sudo dd bs=4M if=raspbian.img of=/dev/sdb
Mutta miten löydän oikean laitteen eli läppärin kortinlukijan dev -osoitteen. Käyttis on Ubuntu 16.04. Katsoin koneeni  dev -hakemistoa, ja se on melko haasteellisen näköinen omaan osaamiseeni nähden.

« Viimeksi muokattu: 12.12.17 - klo:15.09 kirjoittanut teele »

Tomin

  • Palvelimen ylläpitäjä
  • Käyttäjä / moderaattori+
  • Viestejä: 11481
    • Profiili
    • Tomin kotisivut
Vs: dd:n käyttö Pi:n kortin kopioimiseen
« Vastaus #1 : 11.12.17 - klo:22.30 »
Katso dmesg-listaus ennen ja jälkeen kortin kytkemisen. Sinne pitäisi ilmestyä uusia rivejä liittyen korttiisi. Tuo lienee helpoin ja hyvin varma keino.
Automaattinen allekirjoitus:
Lisäisitkö [RATKAISTU] ketjun ensimmäisen viestin aiheeseen ongelman ratkettua, kiitos.

jarmala

  • Käyttäjä
  • Viestejä: 790
    • Profiili
Vs: dd:n käyttö Pi:n kortin kopioimiseen
« Vastaus #2 : 12.12.17 - klo:03.55 »
Katso dmesg-listaus ennen ja jälkeen kortin kytkemisen. Sinne pitäisi ilmestyä uusia rivejä liittyen korttiisi. Tuo lienee helpoin ja hyvin varma keino.

Esimerkki dmesg:n tulosteesta usb-tikun kutkemisen jälkeen:

Koodia: [Valitse]
[394056.497878] sd 4:0:0:0: Attached scsi generic sg6 type 0
[394058.035443] sd 4:0:0:0: [sdf] 31240704 512-byte logical blocks: (16.0 GB/14.9 GiB)
[394058.036056] sd 4:0:0:0: [sdf] Write Protect is off
[394058.036058] sd 4:0:0:0: [sdf] Mode Sense: 23 00 00 00
[394058.036681] sd 4:0:0:0: [sdf] No Caching mode page found
[394058.036686] sd 4:0:0:0: [sdf] Assuming drive cache: write through
[394058.043441]  sdf: sdf1
[394058.046433] sd 4:0:0:0: [sdf] Attached SCSI removable disk

Tuo ei kuitenkaan kerro, että tikku on /dev/sdf - joten kannattaa tarkistaa vielä df:llä:

Koodia: [Valitse]
$ df
Tiedostojärjestelmä  1K-lohkot       Käyt    Vapaana Käy% Liitospiste
/dev/sdc1             28704676    8987388   18236124  34% /
/dev/loop3               85888      85888          0 100% /snap/core/3604
/dev/sdf1             15607984   11438656    4169328  74% /media/ari/PUBLIC

Ja sitten tarkkana noiden asematunnusten kanssa. dd-komentorivi luetaan vielä kahteen kertaan ajatuksella läpi ennen kuin painetaan enteriä. Jooko? Linuxin (lue: Unixin) tapaan dd tekee eikä kysele turhia.
« Viimeksi muokattu: 12.12.17 - klo:04.01 kirjoittanut jarmala »
Ubuntu 18.04 LTS, Gnome Flashback Metacity, Xeon E3-1245 V2, 8 GB
Ubuntu 22.04 LTS, KDE Plasma, Celeron N5105, 8 GB

raimo

  • Käyttäjä
  • Viestejä: 4269
  • openSUSE Tumbleweed
    • Profiili
Vs: dd:n käyttö Pi:n kortin kopioimiseen
« Vastaus #3 : 12.12.17 - klo:07.59 »
Koodia: [Valitse]
sudo fdisk -lon myös kätevä. Ja muista että kortti ei saa olla "mountattuna" ts. tiedostojärjestelmä liitettynä kun ajat dd komentoa.
Tietä käyden tien on vanki. Vapaa on vain umpihanki.
Aaro Hellaakoski

kamara

  • Käyttäjä
  • Viestejä: 3032
    • Profiili
Vs: dd:n käyttö Pi:n kortin kopioimiseen
« Vastaus #4 : 12.12.17 - klo:11.29 »
Jäljempänä oli myös ohje, kuinka pakataan levykuva samaan aikaan sitä luodessa:
Lainaus
These files can be very large, and compress well. To compress, you can pipe the output of dd to gzip to get a compressed file that is significantly smaller than the original size:

Koodia: [Valitse]
sudo dd bs=4M if=/dev/sdb | gzip > raspbian.img.gz
To restore, pipe the output of gunzip to dd:

Koodia: [Valitse]
gunzip --stdout raspbian.img.gz | sudo dd bs=4M of=/dev/sdb
If you are using a Mac, the commands used are almost exactly the same, but 4M in the above examples should be replaced with 4m, with a lower case letter.

Tätä ohjetta kannattaa ennemmin käyttää.  ;)

teele

  • Käyttäjä
  • Viestejä: 852
    • Profiili
Vs: dd:n käyttö Pi:n kortin kopioimiseen
« Vastaus #5 : 12.12.17 - klo:11.34 »
Kokeilin dd -komentoa seuraavasti, mutta koska if on hakemisto, dd ei kopioi sieltä

Koodia: [Valitse]
sudo dd bs=4M if=/media/be/boot of=Documents/my_pi/my_pi_images/raspbian.img
[sudo] password for be:
dd: error reading '/media/be/boot': Is a directory
0+0 records in
0+0 records out
0 bytes copied, 0,00030649 s, 0,0 kB/s

Pitäisikö if -paikaksi laittaa /dev/mmcblk0p1, se on liitetty kohtaan /media/be/boot.

Kysyn nyt vielä, ennen kuin alan kokeilla. Onhan dd -komennosta varoitettu aika usein.

Tässä alla on vielä df -tulosteet

Koodia: [Valitse]
df
Filesystem     1K-blocks     Used Available Use% Mounted on
udev             2963076        0   2963076   0% /dev
tmpfs             597064     8880    588184   2% /run
/dev/sda4      470610312 16540924 430140712   4% /
tmpfs            2985320    39812   2945508   2% /dev/shm
tmpfs               5120        8      5112   1% /run/lock
tmpfs            2985320        0   2985320   0% /sys/fs/cgroup
/dev/sda1         523248     3480    519768   1% /boot/efi
tmpfs             597064       48    597016   1% /run/user/1000
/dev/mmcblk0p1     41322    20761     20561  51% /media/be/boot

Voin pakatakin sen jälkimmäisen ohjeen mukaan, mutta ensin pitäisi saada oikea muoto if- ja of -sijainneille.

..... sitten kokeilin kuitenkin if=/dev/mmcblk0p1 -vaihtoehtoa, mutta se kopioi vain 43 MB, ja kortilla pitäisi olla gigoja.

Koodia: [Valitse]
sudo dd bs=4M if=/dev/mmcblk0p1 of=Documents/my_pi/my_pi_images/raspbian.img
10+1 records in
10+1 records out
42991616 bytes (43 MB, 41 MiB) copied, 1,86616 s, 23,0 MB/s

« Viimeksi muokattu: 12.12.17 - klo:11.57 kirjoittanut teele »

nm

  • Käyttäjä
  • Viestejä: 16430
    • Profiili
Vs: dd:n käyttö Pi:n kortin kopioimiseen
« Vastaus #6 : 12.12.17 - klo:12.45 »
Koodia: [Valitse]
/dev/mmcblk0p1     41322    20761     20561  51% /media/be/boot

Voin pakatakin sen jälkimmäisen ohjeen mukaan, mutta ensin pitäisi saada oikea muoto if- ja of -sijainneille.

..... sitten kokeilin kuitenkin if=/dev/mmcblk0p1 -vaihtoehtoa, mutta se kopioi vain 43 MB, ja kortilla pitäisi olla gigoja.

Kortilta on tuossa liitetty vain 41 megan boot-osio /dev/mmcblk0p1, mutta siellä on muitakin osioita, jotka fdisk luultavasti näyttäisi. Haluat kuitenkin tehdä levykuvan koko kortista, jolloin oikea laitetiedosto on /dev/mmcblk0

Koodia: [Valitse]
sudo dd bs=4M if=/dev/mmcblk0 of=raspbian.img

Tai voit pakata levykuvan samalla, kuten ehdotettiin:

Koodia: [Valitse]
sudo dd bs=4M if=/dev/mmcblk0 | gzip > raspbian.img.gz

teele

  • Käyttäjä
  • Viestejä: 852
    • Profiili
Vs: dd:n käyttö Pi:n kortin kopioimiseen
« Vastaus #7 : 12.12.17 - klo:15.08 »

taisi onnistua, kiitoksia neuvoista, seuraavalla kerralla ehkä uskallan kokeilla pakkaustakin :)

Koodia: [Valitse]
sudo dd bs=4M if=/dev/mmcblk0 of=Documents/my_pi/my_pi_images/raspbian.img
3717+0 records in
3717+0 records out
15590227968 bytes (16 GB, 15 GiB) copied, 650,434 s, 24,0 MB/s

ls -l Documents/my_pi/my_pi_images/
total 15224836
-rw-r--r-- 1 root root 15590227968 joulu 12 13:56 raspbian.img

dd bs=4M if=Documents/my_pi/my_pi_images/raspbian.img of=/dev/mmcblk0
[sudo] password for me:
3717+0 records in
3717+0 records out
15590227968 bytes (16 GB, 15 GiB) copied, 1703,21 s, 9,2 MB/s


kamara

  • Käyttäjä
  • Viestejä: 3032
    • Profiili
Vs: dd:n käyttö Pi:n kortin kopioimiseen
« Vastaus #8 : 12.12.17 - klo:15.30 »

taisi onnistua, kiitoksia neuvoista, seuraavalla kerralla ehkä uskallan kokeilla pakkaustakin :)

Ton pakatun levykuvan tekeminen kannattaa opetella, sillä sitä voi käyttää monessa tilanteessa:
Esim. Uuden kiintolevyn oston jälkeen voi tehdä pakatun levykuva, joka vie noin 1% alkuperäisestä koosta.(Itselläni 3Tt:n kiintolevy pakkautu reiluun 6Gt, jos joskus myyn kyseisen voin laittaa kiintiksen "tehdasasetuksiin"). Kyseisen levykuvan voi palauttaa kiintolevyyn jälleenmyydessä kyseisen levyn. Raspberryissä pakattu levykuva mahtuu yleensä noin 4 Gt:uun. Raspberryn levykuva kannattaa tehdä heti, kun on päivittänyt järjestelmän.
Uuden tietokoneen ostamisen jälkeen kannattaa myös heti tehdä kyseisestä Windowsista levykuva, sillä moni käytetyn ostaja tykkää, kun on Windows asennettuna ilman ylimääräistä tauhkaa.
Kun ryhtyy asentamaan vanhaan koneeseen uutta järjestelmää, niin ensi toimenpide on tehdä siitä pakattu levykuva, jotta pystyn palaamaan alkutilanteeseen, jos sössin jotakin (kunhan en sössi levykuvaa tehdessä).
jne.