Flashspeicher Backup und Resore

Du kommst mit der Installation nicht voran oder willst noch was nachfragen? Schau auch in den "Tipps und Tricks"-Bereich.
Antworten
CatCom
Beiträge: 9
Registriert: 17.11.2015 06:50:06

Flashspeicher Backup und Resore

Beitrag von CatCom » 17.11.2015 07:00:45

Guten Morgen!

Ich habe folgendes Problem:
Habe ein Beaglebone Black (Einplatinen PC) und möchte vom System ein Backup ziehen und bei einem anderen einspielen.

Das Problem:
Der Flash Speicher (eMMC) vom Quell Beagle ist etwas größer als das Ziel Beagle.

Somit paßt mir das Image mit dd nicht auf den neuen Beagle.
Das Backup wird so erstellt:
dd if=/dev/mmcblk1 bs=16M | gzip -c > /mnt/bbbch2.img.gz

Kann ich den Flash irgendwie verkleinern?

Vielen Dank!

Benutzeravatar
hikaru
Moderator
Beiträge: 13954
Registriert: 09.04.2008 12:48:59

Re: Flashspeicher Backup und Resore

Beitrag von hikaru » 17.11.2015 09:01:53

In dem Image sollte sowas wie Bootloader + ein oder mehrere Dateisystem(e) stecken, wobei alles zusammen oder jeweils einzeln noch in einer Partition gekapselt sein könnte.
Je nachdem wie groß der Unterschied der Flashspeicher beider Geräte ist und wie groß und voll die Dateisysteme sind könnte es ausreichen, das letzte Dateisystem im Image zu verkleinern. Das geht wohl am einfachsten, wenn du es einfach auf einen anderen Datenträger schreibst und auf dem arbeitest. Von diesem Datenträger könntest du dann wiederum ein kleineres Image ziehen.

Um der ganzen Theorie etwas Substanz zu verschaffen wäre es hilfreich, die Ausgaben von fdisk -l beider Beaglebones zu kennen. Vom Ersten wäre außerdem die Ausgabe von df -h interessant.

CatCom
Beiträge: 9
Registriert: 17.11.2015 06:50:06

Re: Flashspeicher Backup und Resore

Beitrag von CatCom » 17.11.2015 09:47:31

Habe aktuell nur die Quelle hier bei mir. Wenn wir aber um 50MB das Image kleiner machen können, wäre es schon geholfen.
Die BBB sind zwar Baugleich, haben aber unterschiedle eMMC Chips und die sind um ein paar KB unterschiedlich.

BBB 1 (Quelle):

Code: Alles auswählen

Disk /dev/mmcblk0: 3925 MB, 3925868544 bytes
4 heads, 16 sectors/track, 119808 cylinders, total 7667712 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

        Device Boot      Start         End      Blocks   Id  System
/dev/mmcblk0p1   *        2048      198655       98304    e  W95 FAT16 (LBA)
/dev/mmcblk0p2          198656     7667711     3734528   83  Linux

Disk /dev/mmcblk0boot1: 1 MB, 1048576 bytes
4 heads, 16 sectors/track, 32 cylinders, total 2048 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

Disk /dev/mmcblk0boot1 doesn't contain a valid partition table

Disk /dev/mmcblk0boot0: 1 MB, 1048576 bytes
4 heads, 16 sectors/track, 32 cylinders, total 2048 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

Disk /dev/mmcblk0boot0 doesn't contain a valid partition table

Code: Alles auswählen

Filesystem                                              Size  Used Avail Use% Mounted on
rootfs                                                  3.5G  2.4G  952M  72% /
udev                                                     10M     0   10M   0% /dev
tmpfs                                                   100M  9.2M   91M  10% /run
/dev/disk/by-uuid/319a7dc6-9ece-408a-877f-f7c38bebb825  3.5G  2.4G  952M  72% /
tmpfs                                                   249M     0  249M   0% /dev/shm
tmpfs                                                   249M     0  249M   0% /sys/fs/cgroup
tmpfs                                                   100M     0  100M   0% /run/user
tmpfs                                                   5.0M     0  5.0M   0% /run/lock
/dev/mmcblk0p1                                           96M   66M   30M  69% /media/card

debianoli
Beiträge: 4165
Registriert: 07.11.2007 13:58:49
Lizenz eigener Beiträge: MIT Lizenz

Re: Flashspeicher Backup und Resore

Beitrag von debianoli » 17.11.2015 10:42:35

Code: Alles auswählen

Device Boot      Start         End      Blocks   Id  System
/dev/mmcblk0p1   *        2048      198655       98304    e  W95 FAT16 (LBA)
/dev/mmcblk0p2          198656     7667711     3734528   83  Linux
Dann ist das Ausgangs-Device, auf dem die Partitionen liegen, /dev/mmcblk0 ?

Wie spielst du die Daten auf den Beaglebone, per Live-System?

Dann könntest du auch nur den Boot-Loader per dd sichern und auf dem 2. Beaglebone per Live-System 2. Partitionen einrichten. Die erste entspricht dann in der Größe der FAT-Partiton, die zweite übernimmt den Rest. In diese Partitionen spielst du dann den per tar gesicherten Inshallt der entsprechenden Ordner deines Ausgangs-Systems. Und natürlich noch den Boot-Loader per dd zurückspielen.

Ein Problem beim kompletten Zurückspielen der Ausgangspartition ist doch, dass im MBR (512 Bytes) auch die Partitions-Tabelle gespeichert wird (ab Byte 444 oder so). Sobald du das per dd komplett zurückspielst, kann das nicht stimmen, da die neue Platte kleiner ist als der Eintrag in der Partitionstabelle.

Benutzeravatar
hikaru
Moderator
Beiträge: 13954
Registriert: 09.04.2008 12:48:59

Re: Flashspeicher Backup und Resore

Beitrag von hikaru » 17.11.2015 11:01:51

debianoli hat geschrieben:Ein Problem beim kompletten Zurückspielen der Ausgangspartition ist doch, dass im MBR (512 Bytes) auch die Partitions-Tabelle gespeichert wird (ab Byte 444 oder so). Sobald du das per dd komplett zurückspielst, kann das nicht stimmen, da die neue Platte kleiner ist als der Eintrag in der Partitionstabelle.
Daran habe ich noch gar nicht gedacht.
Wie käme denn normalerweise ein Image auf so einen Beaglebone? Da muss ja irgendwie die unterschiedliche Größe der Flash-Module beachtet werden.

CatCom
Beiträge: 9
Registriert: 17.11.2015 06:50:06

Re: Flashspeicher Backup und Resore

Beitrag von CatCom » 17.11.2015 11:11:46

Ja, das ist das Ausgangs-Device.

Ich boote entweder von Micro SD Karte oder über den eMMC, wenn keine MicroSD drinnen ist.

Zum aufspielen des Image habe ich eine eigene SD Karte, wo das gzip dd Image liegt.

Kann man die Partition am Ausgangs Device nicht kleiner machen, das Backup dann mit DD erstellen (sofern DD den freien Platz nicht mit sichert) und am neuen wieder normal rücksichern?

debianoli
Beiträge: 4165
Registriert: 07.11.2007 13:58:49
Lizenz eigener Beiträge: MIT Lizenz

Re: Flashspeicher Backup und Resore

Beitrag von debianoli » 17.11.2015 11:14:30

https://de.wikipedia.org/wiki/BeagleBoard

Das Ding kann von Speicher-Karten starten, also kann man das an jedem Rechner individuell partitionieren. Ob da Grub dann der Bootloader ist, keine Ahnung.

debianoli
Beiträge: 4165
Registriert: 07.11.2007 13:58:49
Lizenz eigener Beiträge: MIT Lizenz

Re: Flashspeicher Backup und Resore

Beitrag von debianoli » 17.11.2015 11:17:33

CatCom hat geschrieben:Kann man die Partition am Ausgangs Device nicht kleiner machen, das Backup dann mit DD erstellen (sofern DD den freien Platz nicht mit sichert) und am neuen wieder normal rücksichern?
Ob das geht, würde ich bezweifeln, denn dein Problem ist auch die Partitionstabelle.

CatCom
Beiträge: 9
Registriert: 17.11.2015 06:50:06

Re: Flashspeicher Backup und Resore

Beitrag von CatCom » 17.11.2015 11:37:08

ok, aber wie könnte ich den eMMC Inhalt vom einen BBB zum anderen BBB übertragen.
Aktuell eben läuft es mit DD.

debianoli
Beiträge: 4165
Registriert: 07.11.2007 13:58:49
Lizenz eigener Beiträge: MIT Lizenz

Re: Flashspeicher Backup und Resore

Beitrag von debianoli » 17.11.2015 12:16:16

Wird der eMMC als normales Speichergerät angezeigt? Was ist da drauf, ein Linux oder nur der Bootloader? Was sagt beim Starten des Systems von eMMC

Code: Alles auswählen

lsblk
df -h
cat /etc/fstab

CatCom
Beiträge: 9
Registriert: 17.11.2015 06:50:06

Re: Flashspeicher Backup und Resore

Beitrag von CatCom » 17.11.2015 12:20:51

es wird nur über den eMMC gebootet und es existiert keine MicroSD Karte:

lsblk

Code: Alles auswählen

NAME         MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
mmcblk0boot0 179:8    0     1M  1 disk
mmcblk0boot1 179:16   0     1M  1 disk
mmcblk0      179:0    0   3.7G  0 disk
├─mmcblk0p1  179:1    0    96M  0 part /media/card
└─mmcblk0p2  179:2    0   3.6G  0 part /
df -h

Code: Alles auswählen

Filesystem                                              Size  Used Avail Use% Mounted on
rootfs                                                  3.5G  2.4G  948M  72% /
udev                                                     10M     0   10M   0% /dev
tmpfs                                                   100M   12M   89M  12% /run
/dev/disk/by-uuid/319a7dc6-9ece-408a-877f-f7c38bebb825  3.5G  2.4G  948M  72% /
tmpfs                                                   249M     0  249M   0% /dev/shm
tmpfs                                                   249M     0  249M   0% /sys/fs/cgroup
tmpfs                                                   100M     0  100M   0% /run/user
tmpfs                                                   5.0M     0  5.0M   0% /run/lock
/dev/mmcblk0p1                                           96M   66M   30M  69% /media/card
cat /etc/fstab

Code: Alles auswählen

# /etc/fstab: static file system information.
#
UUID=319a7dc6-9ece-408a-877f-f7c38bebb825  /  ext4  noatime,errors=remount-ro  0  1
debugfs  /sys/kernel/debug  debugfs  defaults  0  0
/dev/mmcblk0p1    /media/card     auto     auto,rw,async,user,nofail  0  0

CatCom
Beiträge: 9
Registriert: 17.11.2015 06:50:06

Re: Flashspeicher Backup und Resore

Beitrag von CatCom » 17.11.2015 16:49:29

Das ist übrigens das Script, das ich auf meiner MicroSD Karte habe und für ein Backup/Restore nutze:

Code: Alles auswählen

#!/bin/sh
echo timer > /sys/class/leds/beaglebone\:green\:usr0/trigger 

#un-comment the following line to perform a backup
#dd if=/dev/mmcblk1 bs=16M | gzip -c > /mnt/bbbch2.img.gz

#un-comment the following 6 lines to perform a restore (be sure to replace XXXXX with your image name)
gunzip -c /mnt/bbbch2.img.gz | dd of=/dev/mmcblk1 bs=16M
UUID=$(/sbin/blkid -c /dev/null -s UUID -o value /dev/mmcblk1p2)
mkdir -p /mnt
mount /dev/mmcblk1p2 /mnt
ed -i "s/^uuid=.*\$/uuid=$UUID/" /mnt/boot/uEnv.txt
umount /mnt

sync
echo default-on > /sys/class/leds/beaglebone\:green\:usr0/trigger

debianoli
Beiträge: 4165
Registriert: 07.11.2007 13:58:49
Lizenz eigener Beiträge: MIT Lizenz

Re: Flashspeicher Backup und Resore

Beitrag von debianoli » 17.11.2015 17:32:16

Funktioniert denn dieses Backup-Skript wirklich? Was ich da nicht verstehe: Du sicherst eine Partition /dev/mmcblk1 , aber bei der Ausgabe von lsblk sehe ich nur /dev/mmcblk0 ? Also irgendetwas stimmt da nicht...

Oder hast du dieses Skript aus irgendeinem Forum und damit sicher man eigentlich die Micro-SD?

CatCom
Beiträge: 9
Registriert: 17.11.2015 06:50:06

Re: Flashspeicher Backup und Resore

Beitrag von CatCom » 17.11.2015 18:06:05

Hallo!

mmcblk1 und mmcblk0 sind die MicroSD und eMMC.
Ich meine, je nachdem von welchem man bootet ist mmcblk0.

Das Script funktioniert 1a, ja.

debianoli
Beiträge: 4165
Registriert: 07.11.2007 13:58:49
Lizenz eigener Beiträge: MIT Lizenz

Re: Flashspeicher Backup und Resore

Beitrag von debianoli » 17.11.2015 18:18:10

Muss man zum sichern und zurückspielen von SD-Card starten? Sonst macht das Skript keinen Sinn...

CatCom
Beiträge: 9
Registriert: 17.11.2015 06:50:06

Re: Flashspeicher Backup und Resore

Beitrag von CatCom » 17.11.2015 18:50:49

Ja, ein Backup und Restore wird immer von SD gebootet

CatCom
Beiträge: 9
Registriert: 17.11.2015 06:50:06

Re: Flashspeicher Backup und Resore

Beitrag von CatCom » 19.11.2015 15:16:49

Hallo!

Habe es nun geschafft:
https://www.howtoforge.com/linux_resizi ... -partition

Konnte die Partition verkleinern und beim neuen BBB flashen.

Danke an alle!

Antworten