[Anleitung] Erstellen einens ROM Backups für Odin

R

reapsor

Neues Mitglied
23
Hallo,

hier zeige ich euch eine Anleitung, womit ihr ein 1:1 Backup des auf eurem Galaxy S Installierten Systems unter Windows anfertigen könnt.
Das man wiederum via Odin Flashen kann, falls man mal etwas zerschießt. ;)

Getestet mit CF-Root/Semaphore Kernel (CWM3)

Voraussetzungen:

- Clockwork recovery (root)
- Funktionierende adb Verbindung
- Cygwin
- etwas Kommandozeilen Erfahrung
- Genug freier Speicher auf der Internen SD ;)

Schritt 1

Also los!

als erstes bootet ihr euer Handy in den Recovery Modus und schließt es an den Rechner an.
Öffnet in Windows nun die Kommandozeile (cmd) und tippt als erstes "adb devices" ein,
dies gibt eine kurze Information des angeschlossenen Gerätes aus.
Damit wir sicher sind das adb auch funktioniert.

Die leichteste Methode die Partitionen zu mounten ist direkt im Recovery-menü, unter "mounts and storage".
Am besten mountet ihr gleich alle (/system, /data, /datadata).
Die Partitionen /sdcard und /cache sollte in der regel schon automatisch gemountet sein.

Nun gebt ihr in die offene Kommandozeile "adb shell" ein und bestätigt mit Enter, gefolgt von "su"(Enter).

Schritt 2

Nun fertigen wir die Abbilder der Partitionen an, dafür gebt ihr in der Kommandozeile folgende befehle ein.

Code:
dd if=/dev/block/stl9 of=/sdcard/factoryfs.rfs bs=4096
dd if=/dev/block/stl11 of=/sdcard/cache.rfs bs=4096
dd if=/dev/block/stl10 of=/sdcard/dbdata.rfs bs=4096
dd if=/dev/block/bml7 of=/sdcard/zImage bs=4096
dd if=/dev/block/bml12 of=/sdcard/modem.bin bs=4096
dd if=/dev/block/bml1 of=/sdcard/boot.bin bs=4096
dd if=/dev/block/stl3 of=/sdcard/efs.rfs bs=4096
dd if=/dev/block/bml4 of=/sdcard/Sbl.bin bs=4096
dd if=/dev/block/stl6 of=/sdcard/param.lfs bs=4096

zum Abschluss gebt ihr zweimal nacheinander "exit" ein und bestätigt diese,
damit wird die adb shell beendet und wir landen wieder in der normalen Kommandozeile.

Ihr könnt jetzt euer Handy rebooten, das Recovery brauchen wir nun nicht mehr.

Shritt 3

Die gesicherten Abbilder sind jetzt auf der Internen SD eures Handys gespeichert, verschiebt diese nun auf euren Rechner.

Am besten direkt in einen Unterordner im Benutzer Verzeichnis z.B.
Code:
C:\Benutzer\XXX\rom-backup-dump
Dies könnt ihr etweder mit dem Befehl "abd pull" machen z.B.
Code:
adb pull /sdcard/factoryfs.rfs C:\Users\XXX\rom-backup-dump
oder ihr kopiert sie über die USB-Massenspeicher Verbindung, in euer Verzeichnis.

Schritt 4

Jetzt brauchen wir die Gygwin Kommandozeile, in der Regel wird diese nach "C:\cygwin\Cygwin.bat" installiert.
Wechselt nun in das Verzeichnis wo eure Gesicherten Dateien Liegen,
dafür gebt ihr in der Kommandozeile z.B. folgendes ein
Code:
C:\Users/XXX/odin-backup-dump

Jetzt erstellen wir das *.tar Archiv, mit dem folgenden Befehl:

Code:
tar -H ustar -c factoryfs.rfs cache.rfs dbdata.rfs modem.bin zImage boot.bin efs.rfs Sbl.bin param.lfs > xxx.tar

nun werden die MD5 Checksummen mit folgendem Befehl erstellt:

Code:
md5sum –t xxx.tar >> xxx.tar

Bennent nun das *.tar Archiv in md5 um:

Code:
mv xxx.tar xxx.tar.md5

Das war es jetzt auch schon, nun habt ihr eine 1:1 Sicherung eures momentan laufenden Systems
das direkt mit Odin geflasht werden kann.

Dazu einfach in Odin die *.tar.md5 Datei als PDA auswählen und Flashen.

Anmerkung:

ihr könnt euch auch eure eigene *.pit Datei erstellen (Partition Information Table), indem ihr Schritt 1 & 2 wiederholt.

Und zwar mit folgendem Befehl:

Code:
dd if=/dev/block/bml2 of=/sdcard/xxx.pit bs=4096

Hoffe das ich es einiger massen verständlich geschrieben habe, für Kritik/Anmerkungen und Verbesserung bin ich zu haben.

MFG
 
Zuletzt bearbeitet:
  • Danke
Reaktionen: bitstopfen, fwerner und Donald Nice
Hallo,

  • eventuell sollte man noch darauf hinweisen, dass man auch den Inhalt der internen SD Karte für ein vollständiges Backup sichern sollte.
  • Das Mounten der Verzeichnisse ist nicht nur unnötig, sondern meines Erachtens sogar kontraproduktiv. Die Sicherung erfolgt ja direkt aus den Devices, nicht aus dem Mountpoint. Auf gemountete Verzeichnisse könnte ein unbeabsichtigter Schreibzugriff erfolgen, der die Images inkonsistent macht.
  • CWM ist auch nicht unbedingt erforderlich, adb funktioniert auch bei normalem Recovery, aber nur, wenn im Handy der USB Debug Modus aktiviert ist (ist das bei CWM nicht auch so?)
  • Die dd Kommandos kann man im Zweifel auch bei einem vollständig gebooteten Handy in adb ausführen, dort allerdings auch unter der Gefahr von Inkonsistenzen.
  • Man braucht auch nicht unbedingt cygwin, der Total Commander erzeugt auch Odin-kompatible TAR Images.
  • Benutzt man Heimdall und nicht Odin kann man sich das mit dem Tar auch völlig sparen.

Noch ein Hinweis: Wenn du schon eine Anleitung woanders klaust, entferne wenigstens die offensichtlichen Hinweise darauf. Copy und Paste ist gefährlich. Die Quelle deines Diebstahls ist übrigens auch nicht der ursprüngliche Erfinder dieser Anleitung, sondern die geht auf Rotohammer aus dem XDA Forum zurück und ist im Android Umfeld als "Roto Backup" bekannt.
 
Nach Copy n' Paste sollte es eigentlich nicht wirken, wollt alles nur zu einem Paket zusammen schreiben.
Was ich über das Thema mit der Zeit in Erfahrung gebracht hab.

Mit den Mounten könntest du recht haben, ich habe es nur selbst bis jetzt nicht anders gemacht.
Und das mit TotalCommander war mir bis jetzt unbekannt.

Von Roto wusste ich bis jetzt nichts, aber wenn es ein Verstoß ist dann tut mir das leid und der Thread könnte gelöscht werden
 
Bei mir hat das Flashen meiner md5-Datei gestern Abend zum Fullbrick geführt :\
Werde es jetzt nach Samsung schicken und hoffen, dass Sie den root und die CFW nicht merken.

Ansonsten schöne Anleitung!
 
Army92 schrieb:
Bei mir hat das Flashen meiner md5-Datei gestern Abend zum Fullbrick geführt :\
Werde es jetzt nach Samsung schicken und hoffen, dass Sie den root und die CFW nicht merken.

Ansonsten schöne Anleitung!
Aha.
Geht das auch verständlich?

Ansonsten schöner Beitrag!
 
Zuletzt bearbeitet:
scheichuwe schrieb:
Aha.
Geht das auch verständlich?

Ansonsten schöner Beitrag!

Ich habe meine eigene Android ROM erstellt.
Deodexed funktioniert sie über CWM perfekt. Dann wollte ich eine Version via Odin erstellen, flashte also meine ROM und nahm das obige Tutorial in Anspruch.

Am Ende von Schritt 4, wo man die xxx.tar.md5 Datei generiert hat, habe ich diese anschließend über ODIN auf mein Handy geflasht. Dieses Datei habe ich in den PDA-Slot gepackt und auf "Start" gedrückt.
Nach ca. 2 Minuten stand dort "Pass" und alles wurde erfolgreich abgeschlossen. Handy ging also aus und wollte sich neustarten.
Jetzt ist es für immer aus und reagiert weder auf den USB Jig noch auf die 3-Tasten-Kombi oder sogar dem Ladegerät.
Kurz gesagt: Es reagiert auf gar nichts mehr. (=Fullbrick)

Werde es morgen nach Samsung zur Reparatur schicken und hoffe auf Garantie.
 
  • Danke
Reaktionen: scheichuwe
Ok, das ist Mist.

Ich hab mir die Anleitung noch mal genauer angesehen, vielleicht kann ja der Threadersteller noch was dazu sagen
reapsor schrieb:
...
Jetzt erstellen wir das *.tar Archiv, mit dem folgenden Befehl:

Code:
tar -H ustar -c factoryfs.rfs cache.rfs dbdata.rfs modem.bin zImage boot.bin efs.rfs Sbl.bin param.lfs > xxx.tar

...

Wäre es nicht sinnvoller die Dateien in der gleichen Reihenfolge wie sie auch in der pit-Datei stehen in die tar zu packen?
START
PBL (256KB: Primary Boot Loader: boot.bin)
PIT (*256KB: .pit )
EFS (5.9MB: efs.rfs )
SBL (1.25MB: Secondary Boot Loader: Sbl.bin)
SBL2 (1.25MB: Backup Secondary Boot Loader: Sbl.bin)
PARAM (*640KB: param.lfs)
KERNEL (7.5MB: Primary Kernel: zImage)
RECOVERY (7.5MB: Backup Kernel: zImage)
FACTORYFS (276.3MB: factoryfs.rfs)
DBDATAFS (126.7MB, 117.2MB, 107.2MB (depends on pit file): dbdata.rfs)
CACHE (30.1MB: cache.rfs)
MODEM (12MB: modem.bin)
END
[GUIDE] [INFO] The reality of PIT files - xda-developers
 
Wozu nimmst du auch die bootloader mit rein ...

... using tapatalk
 
dd if=/dev/block/stl9 of=/sdcard/factoryfs.rfs bs=4096
dd if=/dev/block/stl11 of=/sdcard/cache.rfs bs=4096
dd if=/dev/block/stl10 of=/sdcard/dbdata.rfs bs=4096
dd if=/dev/block/bml7 of=/sdcard/zImage bs=4096

Hallo,

hat von Euch jemand eine Ahnung, wie diese Pfade beim Galaxy S2 sind?
Und welche Grössenzuordnung diese haben?

Danke schonmal und Gruß
 
Ich habe die Sicherung - per adb -vor meinem 1. Flash gemacht, klappt prima.

Nur habe ich festgestellt, in der Anleitung wird die efs.rfs erstellt. Diese gibt es nicht in der PDA-Datei (ich habe die P1000XXJQ1....tar), dafür eine hidden.rfs. Und, die hidden.rfs ist 35.598.848 gross, die efs.rfs nur 6.553.600. :confused::confused::confused:

Alle anderen Sicherungen - mit adb - sind größer oder identisch. Größer ist OK, weil dd ja die komplette Partition sichert.

Hier hätte ich nun keinen Mut zum Restore:angry:

Gruss
F. Werener
 
habe mal noch eine Gegenüberstellung erstellt (s. GIF)

und noch was, in der PIT sind sowohl die sfs.rfs - als auch - hidden.rfs :confused:
die PIT ist doch wohl so etwas wie der MBR (mit Partitionstabellen) bei "normalen" Festplatten, nur lt. adb 64*4KB. MBR nur 512B?
 

Anhänge

  • adb_tar_kom.GIF
    adb_tar_kom.GIF
    12,2 KB · Aufrufe: 801
Zuletzt bearbeitet:
Ich verstehe im Moment nicht wirklich, was du da machst.

fwerner schrieb:
und noch was, in der PIT sind sowohl die sfs.rfs - als auch - hidden.rfs :confused:
Du meinst anstatt sfs wahrscheinlich efs. Und natürlich sind EFS und HIDDEn da. Die Partitionen gibt es ja auch im System. EFS ist das Encrypted Filesystem mit gerätespezifischen Informationen (IMEI etc, siehe EFS Backup). Die Hidden Partition dient in neueren Firmwares (2.3.6) als Pufferspeicher für Bloatware (Samsung Apps). In älteren Firmwares ist sie leer.

fwerner schrieb:
die PIT ist doch wohl so etwas wie der MBR (mit Partitionstabellen) bei "normalen" Festplatten,
PIT ist lediglich eine Partitionstabelle.

Du solltest bedenken, dass die kleinste schreibbare Einheit auf Flashspeicher üblicherweise 128 kByte ist, zuweilen auch 256k. Folglich sind auch alle Partitionsgrößen Vielfache von 128k bzw. 256k. Beim Galaxy S sind es meines Wissens 256 kByte.
Die genaue Tabelle mit Offsets und Länge kannst du aus der PIT entnehmen. Siehe "Investigation into PIT Files" bei xda-developers. Fürs Galaxy Note hab ich das mal gemacht:
https://www.android-hilfe.de/forum/...te-nur-10-verfuegbar.173480.html#post-2337290
Da sind es 128 kByte pro Sektor.
 
frank_m schrieb:
..Du meinst anstatt sfs wahrscheinlich efs. .
ja sicher, Tippfehler von mir :confused2:

frank_m schrieb:
...PIT ist lediglich eine Partitionstabelle.
.
mit 256KB aber sehr reichlich :winki: , der MBR von Festplatten braucht dafür nur etwa 1/10 von Sektor. OK, kann auch nur 4 Partitionen.

frank_m schrieb:
..Beim Galaxy S sind es meines Wissens 256 kByte..
beim Tab P1000 - mit adb bei mir - auch 256 KB-Datei * X erstellt

Was ich im Android bisher vergeblich gesucht habe: fdisk o.Ä zur Anzeige der Partitionen
 
fwerner schrieb:
Was ich im Android bisher vergeblich gesucht habe: fdisk o.Ä zur Anzeige der Partitionen
Wenn du nur anzeigen willst:
cat /proc/partitions
in adb.
 
danke dir frank_m.
ich bin ja nun doch beeindruckt, von der Vielzahl an Partitionen


Code:
 major     minor  #blocks  name
  139        0     513024 tfsr0/c
  139        1        256 tfsr1 
 139        2        256 tfsr2 
 139        3      10240 tfsr3 
 139        4       1280 tfsr4 
 139        5       1280 tfsr5 
 139        6       5120 tfsr6 
 139        7       7680 tfsr7 
 139        8       7680 tfsr8 
 139        9     337920 tfsr9 
 139       10      89088 tfsr10 
 139       11      35840 tfsr11 
 139       12      16384 tfsr12 
 179        0   15552512 mmcblk0  
 179        1   13455328 mmcblk0p1 
 179        2    1789952 mmcblk0p2 
 179        3     307200 mmcblk0p3 
 137        0     513024 bml0/c 
 137        1        256 bml1 
 137        2        256 bml2 
 137        3      10240 bml3 
 137        4       1280 bml4 
 137        5       1280 bml5 
 137        6       5120 bml6 
 137        7       7680 bml7 
 137        8       7680 bml8 
 137        9     337920 bml9 
 137       10      89088 bml10 
 137       11      35840 bml11 
 137       12      16384 bml12 
 138        3       6400 stl3 
 138        6       1280 stl6 
 138        9     328192 stl9 
 138       10      84480 stl10 
 138       11      32000 stl11
 
'md5sum xxx.tar >> xxx.tar' bringt bei mir Fehlermeldung "Datei nicht gefunden".
Aber "md5sum xxx.tar >> md5" generiert eine md5-Datei im Ordner.
Muss die md5 in xxx.tar?
 
Hallo.

Also bei der eingabe "adb devices" kriege ich eine meldung "Der Befehl "adb" ist entweder falsch geschrieben oder konnte nicht gefunden werden."

Eine Idee was ich falsch mache?

Benutze Galaxy SIII. Windows 7.
 
ADB ist nicht richtig installiert. Installationsanleitungen gibt es hier im Galaxy S Forum.
 
Army92 schrieb:
Bei mir hat das Flashen meiner md5-Datei gestern Abend zum Fullbrick geführt :\
Werde es jetzt nach Samsung schicken und hoffen, dass Sie den root und die CFW nicht merken.

Ansonsten schöne Anleitung!

bei mir gerade auch, es wird nur noch ein Gerät SEC S5P C110 Test B/D erkannt wofür kein Treiber erkannt wird!
Was nun? :angry::angry:
 
frank_m schrieb:
ADB ist nicht richtig installiert. Installationsanleitungen gibt es hier im Galaxy S Forum.

Könntest du bitte ein Link posten?
 

Ähnliche Themen

B
  • Angepinnt
  • BigAznJimmy
2 3
Antworten
54
Aufrufe
46.964
Lukas5
L
Bödi
Antworten
10
Aufrufe
15.255
Blade Runner
B
sunra
Antworten
39
Aufrufe
34.090
Bitman
Bitman
Zurück
Oben Unten