Falls euer Sicherungslaufwerk (wohin das Image geschrieben wird) mit NTFS formatiert ist müsst ihr auch noch folgendes beachten:
Benötigtes Paket installieren:
Code: Alles markieren
apt-get update
apt-get install ntfs-3g
Wenn ihr das Sicherungslaufwerk über Linux formatieren wollt könnt ihr nun folgenden Befehl nutzen:Code: Alles markieren
mkfs.ntfs -f /dev/sda1
(quick format)
Durch NTFS wird aber die Schreibgeschwindigkeit unter Linux stark reduziert! Besser wäre den Datenträger mit ext3 oder ext4 zu formatieren:
Code: Alles markieren
mkfs.ext4 /dev/sda1
Anleitung:
Ihr geht dabei wie folgt vor:
(alle Befehle erfordern root Rechte, also ggf sudo davor schreiben!)
Zunächst müssen wir erst das RaspberryPI System als read-only mounten damit nicht wärend des sicherns auf die Partitionen geschrieben wird (zB von Diensten wie CRON o.ä.) und unsere Sicherung dadurch nutzlos werden würde (siehe dicker roter Hinweis weiter oben).
Dazu müsst ihr /etc/fstab bearbeiten und "ro" zu den beiden Partitionen hinzufügen, sodass es ungefähr wie folgt aussieht:
Code: Alles markieren
proc /proc proc defaults 0 0
/dev/mmcblk0p1 /boot vfat defaults,ro 0 2
/dev/mmcblk0p2 / ext4 defaults,noatime,ro 0 1
Diese Änderung müsst ihr nach dem erstellen es Abbilds wieder rückgängig machen - und zwar müsst ihr dazu folgenden Befehl ausführen bevor ihr logischerweise /etc/fstab verändern bzw speichern könnt:Spoiler:
Und dann rebooten damit die Partitionen der SD beim nächsten Systemstart nur als read-only gemounted wird:Code: Alles markieren
reboot
Nach dem reboot könnt ihr das ganze prüfen indem ihr über den Befehl mount kontrolliert ob " (ro " hinter der " / " und " /boot " Partition steht - oder ihr versucht jeweils in " / " und " /boot/ " eine Datei zu erzeuchen was aber nicht funktionieren dürfte
Du musst angemeldet sein, um Bilder zu sehen.
->touch /test ; touch /boot/test
Herausfinden ob das SicherungsLaufwerk erkannt wurde:
Code: Alles markieren
dmesg | grep sd
(die erste Partition ist meistens sda1 oder sdc1)
Verzeichnis erstellen wohin wir das Laufwerk mounten und die erste Partition mounten/einbinden:
Code: Alles markieren
mkdir -p /mnt/sda1
mount /dev/sda1 /mnt/sda1/
(Pfade ggf anpassen)
Der reguläre Weg ein vollständiges 1:1 Abbild der SD zu erstellen sähe normalerweise wie folgt aus:
Code: Alles markieren
dd if=/dev/mmcblk0 of=/mnt/sda1/rpi.img bs=1M
(if -> input file , of -> output file)
Das erzeugt aber besagtes 1:1 Abbild, also in meinem Fall wäre das rpi.img dann ca. 8GB groß.
Funktioniert so natürlich auch, ist aber wie ich finde unschön, vorallem wenn man die Datei ggf auch zum Download bereitstellen möchte
Du musst angemeldet sein, um Bilder zu sehen.
Nun gibt es ein paar Tricks.
Der erste Trick besteht darin beim erstellen des Abbilds die Ausgabe an gzip zu leiten (pipe (|)) um das Abbild komprimieren zu lassen. Mit folgendem Befehl spart man sich einen Zwischenschritt - man kann das komprimieren aber auch nach dem erstellen durchführen.
Code: Alles markieren
dd if=/dev/mmcblk0 | gzip > /mnt/sda1/rpi.img.gz
Das spart schon mal einiges an Platz denn ungepackt wäre das Image ~7,6GB gross:
Code: Alles markieren
root@raspberrypi:~# du -sh /mnt/sda1/rpi.img.gz
990M /mnt/sda1/rpi.img.gz
root@raspberrypi:~#
Zur Wiederherstellung sähe der Befehl so aus:Code: Alles markieren
gzip -dc /mnt/sda1/rpi.img.gz | dd of=/dev/mmcblk0
Jenachdem wie groß eure SD Karte ist kann das erstellen ziemlich lange dauern - in meinem Fall hat es mit NTFS 45 Minuten gedauert:
Code: Alles markieren
root@raspberrypi:~# dd if=/dev/mmcblk0 of=/mnt/sda1/rpi.img bs=1M
7695+0 Datensätze ein
7695+0 Datensätze aus
8068792320 Bytes (8,1 GB) kopiert, 2712,63 s, 3,0 MB/s
root@raspberrypi:~#
Mit ext4 war es dahingegen mit nur ca 10 Minuten merklich schneller:
Code: Alles markieren
root@raspberrypi:~# date ; dd if=/dev/mmcblk0 of=/mnt/sda1/rpi.img bs=1M ; date
Do 3. Jul 18:44:59 CEST 2014
7695+0 Datensätze ein
7695+0 Datensätze aus
8068792320 Bytes (8,1 GB) kopiert, 711,419 s, 11,3 MB/s
Do 3. Jul 18:56:51 CEST 2014
root@raspberrypi:~#
Problematisch hierbei ist allerdings das Windows nicht von alleine auf Linux-Dateisysteme zugreifen kann. Dafür müßte man einen extra Treiber installieren zum Beispiel
Sie müssen registriert sein, um Links zu sehen.
.
Die Größe des Abbilds können wir nun mit folgendem Befehl kontrollieren:Code: Alles markieren
root@raspberrypi:~# du -sh /mnt/sda1/rpi.img
7,6G /mnt/sda1/rpi.img
root@raspberrypi:~#
Bevor ihr das Sicherungslaufwerk umount'et (vor dem abziehen wieder aushängen) solltet ihr aber unbedingt den Befehl sync ausführen damit der Buffer geleert und alle Daten geschrieben werden. Anschließend müsst ihr auch vor dem Abziehen das Laufwerk wie gesagt umount'en:Code: Alles markieren
umount /mnt/sda1