China-Phones: Scatter-Datei erzeugen und System-Backup durchführen

Screenshot
Ausschnitt aus der Speicherblock-Übersicht eines Mediatek-Smartphones Blackview Crown. Markiert ist der Cache, der nicht in einem System-Backup benötigt wird. In der Spalte Scatter steht die Hex-Adresse des jeweiligen Speicherblocks, daneben seine Größe.

Da hat mensch sich also ein Smartphone aus dem fernen China beschafft und will es auch gleich mal rooten, ein anderes ROM probieren und hastenichgesehen. Zu dumm, wenn sich das Gerät danach nicht mehr einschalten lässt und der Händler es auch nicht mehr zurücknehmen mag, da der Kunde ja die Firmware verschlimmbessert hat. Selbst offizielle Updates, die ein Hersteller zum Download oder “Over the air” (OTA) anbietet, können im schlimmsten Fall mal in die Hose gehen. Deshalb: Immer erst ein Backup vom Original anfertigen, und zwar mit dem SP Flashtool des Chipherstellers Mediatek samt freundlicher Unterstützung durch die MTK Droid Tools. Beide Hausmittel (samt Installationshinweisen) und die Basics zu den typischen Mediatek-Chipsätzen (samt Klärung der Begriffe Preloader und Scatter-Datei) habe ich bereits vorgestellt. Hier folgt nun eine Anleitung für die praktische Anwendung.

Für dieses Backup mit Hausmitteln muss das Smartphone weder gerootet sein, noch muss eine Custom Recovery (wie für ein Nandroid-Backup) geflasht werden. Mit anderen Worten: Die Smartphone-Firmware wird nicht manipuliert oder sonstwie verändert, so dass sich das Gerät im Not- oder Garantiefall mit diesem Backup wieder in den Urzustand versetzen lässt. Zwei Warnungen:

  • Die folgende Prozedur ist nicht besonders anwenderfreundlich, aber mit etwas Zeit und Sorgfalt für jeden Windows-Nutzer mit Sinn für Tüftelei machbar.
  • Leider funktioniert die MTK Droid Tools mit der neuestes Generation der China-Phones (zu erkennen an den mit 67.. starteten Prozessornummern, zum Beispiel MTK6753 oder MTK6751) nicht mehr. Auf einem Blackview Crown mit dem MTK6592 klappt dagegen noch alles reibungslos.

In der ersten Etappe wird mit den MTK Droid Tools die Scatter-Datei angelegt:

  1. MTK Droid Tools mit Klick auf MTKdroidTools.exe starten.
  2. Auf dem Smartphone unter Entwickler-Einstellungen USB-Debugging aktivieren, so dass die MTK Droid Tools die Verbindung zum Smartphone herstellen können und die Smartphone-Daten anzeigen.
  3. Um die Partitions-Liste anzuzeigen, Button Block Mappe/Blocks map klicken
  4. Über den Button Erstellen der Scatterdatei/Create scatter file wird nun die Scatter-Datei erstellt und abgespeichert; den Speicherort bitte sorgfältig wählen, denn die Scatter-Datei wird in Zukunft bei jedem Flash- oder Backup-Vorgang wieder benötigt.
  5. MTK Droid Tools können nun beendet werden, das Telefon heruntergefahren und das USB-Kabel ausgestöpselt werden.Für das Backup sollen jetzt nur die Partitionen vom Preloader ganz am Anfang bis herunter vor den Cache gesichert werden – dies ist die eigentliche Firmware, mit der das Telefon zur Not wieder in den Ausgangszustand zurückversetzt werden kann. Der Cache ist nur ein Zwischenspeicher, der jederzeit neu generiert werden kann, und die Nutzerdaten (usrdata) sichert man später mit besser geeigneten Backup-Werkzeugen, zum Beispiel per Nandroid-Backup via Custom Recovery oder mit Backup-Apps wie Titanium Backup.

Wird die Scatter-Datei, eine simple *.txt-Datei, nun mit einem reinen Text-Editor (auf Windows also nicht Word, sondern Editor bzw. Notepad) geöffnet, kann man im Fließtext nach dem Eintrag CACHE suchen und die Anfangs-Adresse (linear_start_addr) dort herauskopieren. Sie entspricht exakt der Länge des Speicherbereichs, über den sich das Backup erstrecken soll.

Ausschnitt aus der Scatter-Datei. Hinter dem Eintrag für CACHE findet sich die Angabe linear_start-addr, den Wert - hier wiederum für mein Blackview Crown - kann man sich herauskopieren.
Die Scatter-Datei ist eine Textwüste. Hinter dem Eintrag für CACHE findet sich die Angabe linear_start-addr, den Wert – hier die Adresse bei einem Blackview Crown – kann man sich herauskopieren.

In der zweiten Etappe kommt das SP Flash Tool zum Einsatz, um das Backup mit Hilfe der Scatter-Datei durchzuführen:

  1. SP Flash Tool starten, ohne dass das Smartphone per USB verbunden ist.
  2. Über den Button Scatter Loading das Scatter-File auswählen und laden; wird das SP Flashtool das nächste Mal gestartet, wird es sich an die letzte Auswahl erinnern und das Scatter-File ungefragt laden. Also Vorsicht, falls mehrere unterschiedliche Smartphones in der ROM-Küche stehen und nicht das falsche Scatter-File nutzen!
  3. Das Register Readback anklicken.
  4. Symbol Add klicken.
  5. Den neuen Eintrag doppelklicken und einen Speicherort wählen.
  6. Nach dem Speichern öffnet sich ein weiteres Fenster Readback block start adress. Hier muss als Typ Hex ausgewählt sein, da mit hexadezimalen Adressen gearbeitet wird. Die Startadresse bleibt 0x000… – also Null -; das Backup soll am Anfang beginnen, aber nicht den gesamten Speicher umfassen, sondern vor dem Cache enden. Unter Length wird deshalb die zuvor notierte oder kopierte Hex-Adresse aus der Scatter-Datei eingetragen; im Beispiel eines Blackview Crown also die 0x37000000. Wichtig ist das Format: 0037000000 (wie in der Fenster-Ansicht der MTK Droid Tools) funktioniert nicht, 0x37000000 (wie in der von MTK Droid Tools erstellten Scatter-Datei) schon.
Das SP Flashtool mit dem Eintrag für das zu speichernde Backup und dem Fenster für Start und Länge der Blöcke entsprechend dem Scatter-File.
Das SP Flashtool mit dem Eintrag für das zu speichernde Backup und dem Fenster für Start und Länge der Blöcke entsprechend dem aus der Scatter-Datei kopierten Wert.
  1. Wenn das Fenster wie im Screenshot (mit an Ihr Smartphone angepasster Length) ausgefüllt ist, die Eingabe mit OK abschließen.
  2. Button Read Back klicken, um den Backup-Vorgang einzuleiten.
  3. Das ausgeschaltete Telefon per USB-Kabel mit dem Computer verbinden, so dass eine Verbindung im Preloader-Modus hergestellt und der Backup-Vorgang gestartet wird. Ein blauer Fortschrittsbalken informiert über den Fortgang der Dinge. Zeit, einen Kaffee zu kochen.
  4. Nach dem Abschluss des Flash-Vorgangs erscheint eine Box Read Back OK.

Die Datei ROM_0 mit dem Backup liegt nun auf dem Computer am gewünschten Speicherort. Das USB-Kabel kann nun abgezogen und das Smartphone wieder eingeschaltet werden. Herzlichen Glückwunsch: Sie haben nun ein Erst-Backup ihres China-Phones gezogen und sind auf der sicheren Seite. Aber das ist noch nicht alles.

In der dritten Etappe muss – bevor das Backup im Notfall per SP Flash Tool wieder zurückgespielt werden kann – die Datei ROM_0 noch mit den MTK Droid Tools nachbearbeitet werden. Das ist umständlich, aber leider auch unumgänglich. Doch es winkt eine Belohnung für die Mühe: Als Spaltprodukt dieses Vorgangs können die MTK Droid Tools nämlich automatisch eine Custom Recovery, nämlich CWM (ClockwordMod Recovery) erstellen, mit deren Hilfe Ihr Smartphone nicht nur gerootet werden kann; sie können damit auch bequem Nandroid-Backups fahren, um Ihre Apps und Daten zu sichern, und – sofern vorhanden – andere ROMs und Mods flashen.

Aber der Reihe nach:

  1. USB Debugging aktivieren, wenn noch nicht geschehen, und Smartphone per USB-Kabel mit dem Computer verbinden.
  2. MTK Droid Tools starten. Falls das Telefon nicht erkannt wird, prüfen, ob auf dem Smartphone eine Verbindungs-Nachfrage erscheint und diese bestätigen.
  3. Das Register Root, Backup, Recovery klicken.
  4. Button Datei ROM_ von Flashtool verarbeiten/To process the ROM_ from Flash Tool klicken und die vorhin erstellte Datei ROM_0 auswählen.
  5. Es öffnet sich ein Fenster mit der Frage: CWM-Recovery automatisch erstellen – mit OK beantworten.
  6. Zum Schluss meldet MTK Droid Tools — Aufgabe ist abgeschlossen —
MTK Droid Tools bei der Arbeit; rechts das Log-Fenster mit laufenden Informationen, unten der Fortschrittsbalken
MTK Droid Tools bei der Arbeit; rechts das Log-Fenster mit laufenden Informationen, unten der Fortschrittsbalken; wenn auf dem Telefon schon ein “su binary” (wird unten links neben der gelben Anzeigefläche signalisiert) vorhanden ist, bieten MTK Droid Tools an, das Gerät selbst zu rooten. Wenn ein permanenter Root gewünscht ist, machen wir das aber später mit dem SP Flash Tool.

Die Dateien des verarbeiteten Backups befinden sich nun unterhalb von MtkDroidTools\backups in einem Verzeichnis, dessen Name nach dem Muster \GeräteName_Datum_ForFlashtoolFromReadBack_Erstellungsdatum_Uhrzeit gebildet ist. Darin findet sich neben diversen anderen Dateien eine für das Gerät passende CWM Recovery sowie ein gepatchtes Boot-Image; Letzteres wird aber nur benötigt, wenn das Smartphone mit der CWM Recovery nicht starten sollte. Die originale boot.img und die Hersteller-Recovery sind übrigens auch noch da; es geht nichts verloren …

Leider sind die MTK Droid Tools lange nicht mehr aktualisiert worden – bei neuen Smartphones scheitern sie. Schon die beiliegende Version 1.0.31 der Android Debug Bridge (ADB) erkennt ein Jiayu S3+, das wie viele andere Ende 2015 erschienene China-Phones mit dem 64-Bit-Chip MT6753 ausgestattet ist, nicht mehr. Aber auch die internen Routinen der Droid-Tools “kennen” die Mediatek-Prozessoren mit 67er Nummern nicht mehr. Ein Ansatz, sich die Scatter-Datei selbst zusammenzustellen, wäre das Auslesen der Partitionstabelle in der Konsole mit einem aktuellen ADB:

C:\Program Files (x86)\Minimal ADB and Fastboot>adb version
Android Debug Bridge version 1.0.32
Revision d15680a64678-android
C:\Program Files (x86)\Minimal ADB and Fastboot>adb devices
List of devices attached
7D9PIZYD9DQGSSSS        device
C:\Program Files (x86)\Minimal ADB and Fastboot>adb shell
shell@S3H:/ $ cat /proc/emmc
partno:    start_sect   nr_sects  partition_name
emmc_p1: 00000400 00001800 "proinfo"
emmc_p2: 00001c00 00002800 "nvram"
emmc_p3: 00004400 00005000 "protect1"
emmc_p4: 00009400 00005000 "protect2"
emmc_p5: 0000e400 00000400 "lk"
emmc_p6: 0000e800 00000400 "para"
emmc_p7: 0000ec00 00008000 "boot"
emmc_p8: 00016c00 00008000 "recovery"
emmc_p9: 0001ec00 00004000 "logo"
emmc_p10: 00022c00 00005000 "expdb"
emmc_p11: 00027c00 00000400 "seccfg"
emmc_p12: 00028000 00001000 "oemkeystore"
emmc_p13: 00029000 00003000 "secro"
emmc_p14: 0002c000 00004000 "keystore"
emmc_p15: 00030000 00002800 "tee1"
emmc_p16: 00032800 00002800 "tee2"
emmc_p17: 00035000 00000800 "frp"
emmc_p18: 00035800 00010000 "nvdata"
emmc_p19: 00045800 00012800 "metadata"
emmc_p20: 00058000 00400000 "system"
emmc_p21: 00458000 000c8000 "cache"
emmc_p22: 00520000 017f6c00 "userdata"
emmc_p23: 01d16c00 00008000 "flashinfo"
shell@S3H:/ $ cat /proc/emmc > /sdcard/blocks.txt
shell@S3H:/ $ exit
C:\Program Files (x86)\Minimal ADB and Fastboot>adb pull /sdcard/jiayu_blocks.txt
0 KB/s (344 bytes in 1.000s)

Hier haben wir via ADB eine Kommandozeile (“Shell”) auf dem Smartphone geöffnet, mit dem Befehl cat /proc/emmc (bei älteren Telefonen: cat /proc/mtd) eine Liste der Speicherblöcke samt Mountpunkten ausgegeben und auf der SD-Karte unter dem Namen blocks.txt gespeichert. Die Daten lassen sich also auslesen, sie sind aber nicht komplett und liegen auch nicht in dem richtigen Format vor. Genau diesen Job der Aufbereitung haben die MTK Droid Tools meisterhaft übernommen. Da deren Entwickler von der Bildfläche verschwunden ist und auch keine Software-Quellen veröffentlicht hat, klafft hier eine ungestopfte Lücke. Falls jemand doch eine Alternative kennt oder selbst die Partitionierung erforscht hat – bitte einen Hinweis in den Kommentaren hinterlassen!

6 comments on “China-Phones: Scatter-Datei erzeugen und System-Backup durchführen”

  1. Hallo,
    es wird von ihnen alles sehr gut erklärt.Mein Problem ist das Tablet Vojo Q101 (64-Bit-Chip MT6753) wird vom PC nicht erkannt.Vcom Treiber installiert.Gerätemanager meldet”Gerät nicht gefunden”.
    Haben sie einen Tipp?

  2. Zunächst, da dieser Kommentar unter dem Artikel zu MTK Droid Tools steht: Der Chip MT6753 wird von den Droid Tools nicht unterstützt. Zur Fehlermeldung im Gerätemanager: Erscheint diese Fehlermeldung, wenn Sie das Tablet per USB verbinden? Ist das Tablet dann ein- oder ausgeschaltet?

  3. Danke für Ihre schnelle Hilfe.Dass das MTK Droid Tools leider nicht geht hatte ich gelesen.Habe mit SP_Flash_Tool_v5.1744_Win versucht.Fehlermeldung kam bei ein-und ausgeschaltenem Tablet.In der Zwischenzeit habe ich es hinbekommen,musste bei ausgeschaltenen Tablet noch die Power+Lautstärketaste drücken.Habe ein TWRP Image speziell für mein Tablet und möchte es flashen.Bin mir aber nicht ganz im Klaren wie.
    Freundliche Grüsse und nochmals Danke.
    Willi

  4. OK. Wenn ein Image per TWRP geflasht werden soll, dann liegt es als *.zip-Datei vor. Ein solches Image flasht man aber eben per TWRP Recovery und nicht per SP Flash Tool. Normalerweise ist bei Auslieferung eine Hersteller-Recovery (“Stock recovery”) auf dem Tablet/Smartphone, aber nicht TWRP. In solche einem Fall muss man zunächst TWRP flashen (Teil eins meiner Anleitung), und dafür braucht man dann doch das Flash Tool. Benötigt wird dafür natürlich eine TWRP Recovery passend für das eigene Gerät. Ist TWRP drauf, kann man das Gerät in die neue Recovery booten und von dort aus das zip-Image flashen. Vorher Backups machen oder zumindest das Stock-ROM parat haben, um im Fall der Fälle den alten Zustand wieder herzustellen.

Schreibe einen Kommentar