Komplett-Backup auf weitere MMCs
Wenn der Dual-Boot (siehe hier)eingerichtet ist, ist es einfach, ein Komplett-Backup auf weitere MMCs zu sichern. Diese weiteren MMCs werden dadurch ebenfalls bootfähig, sodaß man beliebig viele Bootmedien erzeugen kann.
Es ist sinnvoll, ein "Original-System" für Notfälle im internen Flash-Speicher zu haben. Produktiv setze ich aber lieber das System ein, das ich von MMC boote. Da ich viel mit Beta- und Alpha-Software experimentiere, wird dieses Produktiv-System immer wieder so gründlich zerschossen, daß ich es nicht mehr booten kann. Meist bleibt dann nur noch die Möglichkeit, das Original-Flash erneut zu klonen (siehe hier). Das ist zwar immer noch besser, als neu zu flashen, aber dabei gehen alle im Produktiv-System im Lauf der Zeit gemachten Änderungen verloren.
Schön, wenn man dann ein Backup hat! Das geht zwar auch auf PC, aber der ist ja nicht ständig verfügbar. Also liegt es nahe, mit Bordmitteln regelmäßig Komplett-Backups auf (eine) weitere MMC-Card(s) zu ziehen, mit der/denen man dann im Fall der Fälle nahtlos weiterarbeiten kann...
Vorbereiten der Backup-MMC
Die MMC, auf der wir das Backup unterbringen möchten, in den externen Slot stecken. Der Einfachheit halber gehe ich davon aus, daß es sich wie (hier) beschrieben um eine 1GB-MMC handelt, die wir wie im letzten Artikel beschrieben je zur Hälfte in eine Fat-Partition und eine Ext2Fs-Partition aufteilen. Für andere Partitionsgrößen müssen die Partitionierungsdaten angepaßt werden.
Um Konflikte mit geöffneten Dateien zu vermeiden, booten wir nun jeweils vom internen Original-Flash und NICHT von der MMC!!
Neu booten vom internen Flash und im X-Terminal mit root-Rechten die externe MMC partitionieren:
Am Eingabeprompt jeweils eingeben:
- /dev/mmcblk1p1 : 1,15000,6
- /dev/mmcblk1p2 : 15001,,
(die beiden Kommas ohne Leerzeichen!)
- /dev/mmcblk1p3 :
mit Enter bestätigen
- /dev/mmcblk1p4 :
ebenfalls Enter
Die folgende Frage beantworten wir mit "y". Nun werden die Partitionen auf der Speicherkarte erstellt.
Neue Partitionen formatieren
Mit
formatieren wir die erste Partition der externen SD-Card mit FAT
Nun das Gerät neu starten mit
Nach dem Reboot (vom internen Flash!) öffnen wir wieder die X-Term-Konsole und werden mit "sudo gainroot" erneut zum Admin.
Mit
formatieren wir die 2. Partition mit dem Linux-Dateisystem.
...und nochmal neu starten mit "shutdown -r now" (vom internen Flash!), Konsole öffnen, Root werden wie gehabt.
Kernelmodule anmelden
Nun am Kernel das ex2fs anmelden:
- insmod /mnt/initfs/lib/modules/2.6.18-omap1/mbcache.ko
- insmod /mnt/initfs/lib/modules/2.6.18-omap1/ext2.ko
Partitionen mounten
Die interne MMC mounten mit
- mount /dev/mmcblk0p2 /media/mmc2
...und die externe mit
- mkdir /media/mmc2a
- mount /dev/mmcblk1p2 /media/mmc2a
Daten kopieren
- cp -aR /media/mmc2/* /media/mmc2a/
kopiert nun alle Daten der internen auf die externe MMC (jeweils Partition 2). Das dauert eine ganze Weile, leider ohne daß man den Forschritt sehen kann. Fertig ist der Kopiervorgang, wenn der Eingabeprompt wieder angezeigt wird. Alle Dateiattribute sind dabei erhalten geblieben und nun kann auch von der neuen MMC gebootet werden, wenn sie in den internen Slot gesteckt wird. => Fertig ist das Komplett-Backup.
Hat man sich die interne MMC zerschossen, einfach die Backup-MMC in den internen Slot stecken, neu von MMC booten und weiterarbeiten...:)
Regelmäßig Backups erstellen
Mit wenigen Handgriffen läßt sich von jetzt an regelmäßig ein aktuelles Backup erstellen:
- Gerät vom internen Flash booten
- Backup-MMC in den externen Slot stecken
- Altes Backup nach "sudo gainroot" entfernen mit:
mke2fs /dev/mmcblk1p2
- Kernelmodule laden:
insmod /mnt/initfs/lib/modules/2.6.18-omap1/mbcache.ko
insmod /mnt/initfs/lib/modules/2.6.18-omap1/ext2.ko
- Partitionen mounten:
mount /dev/mmcblk0p2 /media/mmc2
mount /dev/mmcblk1p2 /media/mmc2a
- Backup ziehen:
cp -aR /media/mmc2/* /media/mmc2a/
...fertig!