[How to] Verändern der Partitionierung mit/ohne Datenerhalt mittels Flashscript in TWRP-Recovery

  • 172 Antworten
  • Neuester Beitrag
Diskutiere [How to] Verändern der Partitionierung mit/ohne Datenerhalt mittels Flashscript in TWRP-Recovery im Anleitungen für Samsung Galaxy S2 im Bereich Root / Hacking / Modding für Samsung Galaxy S2.
the.gangster

the.gangster

Stammgast
[How to] Verändern der Partitionierung mit/ohne Datenerhalt mittels Flashscript in TWRP-Recovery (Lanchon REPIT)


Wieso, weshalb, warum?
Es gibt viele Gründe, warum man irgendwann vor der Frage stehen könnte, ob man die Partitionierung seines Galaxy S2 ändern sollte. Zunächst war überwiegend die Vergrößerung der Data Partition 2GB im Focus. Denn in dieser Partiton werden Apps installiert. Bekommt man also beim Installieren von Apps die Meldung, es sei nicht genügend Platz auf dem Gerät, dann ist diese Partition voll. Mit Lollipop rückte dann die System Partition 512MB schon eher in den Focus, denn da in der System Partition das ROM sowie System Apps, zu denen auch die (optionalen) Google Apps (GApps) gehören, installiert werden, beides aber immer größer wurde, wurde es jetzt dort schon einmal eng. Wer mehr als nur die Pico-GApps installieren wollte, musste die System Partition vergrößern, aber ansonsten passte es noch weiterhin. Dann aber wurde Marshmallow (CM13) im Nightly-Branch offiziell über OTA bereitgestellt, was viele (ob geplant oder „ungewollt“ installiert) aber am eigenen Leib, äh Telefon, erfahren lies, dass die System Partition in Originalgröße zwar noch Platz für das ROM hatte, (weshalb es auch von CyanogenMod durchgewunken wurde,) aber eben nicht mehr genügend Platz für die kleinste Pico GApps Variante bot. Und damit stand unangefochten die Frage im Zentrum aller CM13 Threads, wie man denn die System Partition des i9100 vergrößern könne. Mit LOS14.1 war dann die (werksseitige) Systempartition endgültig zu klein um das ROM aufzunehmen, so dass es fortan keinen Weg mehr an der Vergrößerung dieser Partition vorbei gab/gibt. Versuchte man es trotzdem, begegnete man üblicherweise beim Flashen eines solchen ROMs dem Problem, dass es in der Recovery beim Schritt "Patching system image unconditionally" nicht mehr weiter ging.
Viele sind zwar der Meinung, sie hätten doch schon in der Vergangenheit ihre Partitionierung geändert und müssten somit doch noch Platz haben, doch waren dies oftmals nur Vergrößerungen der Data Partition. Bisher hat man üblicherweise die Partitionierung über ODIN geändert. Dazu hat man ein PIT-file erstellt oder eben von irgendwo heruntergeladen, geflasht und danach, je nach dem, welche Partitionen von den Größenänderungen betroffen waren, diese neu formatiert und sein Backup zurückgespielt oder eben frisch installiert.

Die Methode mittels Odin und Pitfile wurde hier bereits beschrieben: how-to-vergroesserung-der-datenpartition-mittels-bearbeitetem-pit-file-mit-odin

Diese Methode war jahrelanger Usus.

Was gibt es neues?
Jetzt aber gibt es eine Alternative, die das Vergrößern und Verkleinern der Partitionen optional sogar unter Erhaltung aller Daten ermöglicht und die obendrein ganz ohne Rechner funktioniert. Entwickelt wurde das Ganze von Lanchon aus dem XDA Entwicklerforum. Update 25.02.16: Inzwischen hat er das Projekt aber auf GitHub verlagert.

Was wird benötigt?
  • Ein unverschlüsseltes i9100 (ansonsten *vorher* entschlüsseln!)
  • Minimal mit Lanchons IsoRec TWRP-Recovery 2.8.7.0 (by arnab) HIER
    Aktueller ist aber die 3.1.0-0 (oder auch 3.0.2-1)
    (es gibt auch eine TWRP 3.0.0-0, die aber nur unter CM13 läuft und der benötigte Binaries fehlen, welche sich aber grundsätzlich schon nicht empfiehlt)
  • mit einem Rom (genauer gesagt Kernel) mit IsoRec-Support (damit man auch in o.g. Recovery kommt) z. B. CM13 Nightly (alle) oder CM12.1 (ab Nightly-20160119). Auch die Nachfolger LOS14.1 und 15.1 sind IsoRec-fähig. Will man also später nochmal was ändern, muss man natürlich nicht downgraden.
    Einzeln gibt es z. B. diesen CM13-Kernel.
  • mit möglichst voller Batterie und Ladegerät
  • die neueste Variante von Lanchons Skript von HIER (inzwischen in Unterordner mit neuestem Datum - aktuell:2017-01-15)

Was ist zu tun?
  • Überlegen, was man für eine Partitionsaufteilung haben möchte und was für ein Filesystem man aktuell auf seiner internen SD verwendet (Falls von Euch nie geändert: vFat)
  • Die heruntergeladene Zip entsprechend der gewünschten Partitionierung gemäß unten aufgeführter Syntax umbenennen und auf die externe SD legen oder direkt nach /tmp kopieren
  • Sicherheitshalber ans Ladegerät anschließen, da es durchaus dauern kann (wenn man die Option der Datenerhaltung nutzt)

  • Falls Ihr es statt ans Ladegerät an den Rechner hängt, achtet darauf, dass die Laufwerke nicht über USB gemounted werden, sonst kommen Fehler beim "reread partition table".
  • In der TWRP Recovery die Zip flashen. Wenn nicht alle Partitionen unmounted werden können, wird es sich selbst nach /tmp kopieren und Euch bitten, es von dort nochmal zu starten. Natürlich kann man auch in der TWRP schon vorher proaktiv alle gemounteten Partitionen weg haken.
  • WICHTIG: Wenn es erst einmal gestartet wurde, dann keinesfalls mehr das Skript unterbrechen.
    Wenn Fehler auftreten sollten, so wird es selbstständig abbrechen und den Fehler anzeigen.
    Solange aber besser: Finger davon, oder wie Lanchon es formuliert: geht Euch einen oder zwei Kaffees holen.
Konfiguration der gewünschten Partitionierung:
Die gewünschten Aktionen werden über den Namen der Zip-Datei definiert und unterliegen folgender Syntax:

ZIP Name (i9100) :
<prefix>[-system=<conf>][-data=<conf>][-sdcard=<conf>][-preload=<conf>]<suffix>

grundsätzlich gültige Partitiondefinitionen ( Werte für <conf> )
[<Größe-in-MiB-oder-GiB>|same|min|max][+[keep|wipe][+[ext4|vfat|f2fs|swap|raw]]]


zerlegen wir die <conf> Werte noch weiter:
[<Größe-in-MiB-oder-GiB>|same|min|max][+[keep|wipe][+[ext4|vfat]]]

Zielgröße:
same: Keine Größenänderung dieser Partition
min: Größe wird auf 8 MB gesetzt (Nützlich für die Preload Partition, da in Custom ROMs ungenutzt)
max: Partition so groß wie möglich machen (darf nur für eine Partition verwendet werden)
Größe: Partitionsgröße in MB oder GB (wird auf die nächsten MB gerundet) in englischer Punktierung (z.B. 0.5G oder 512M) (geänderte Syntax ab 2016-09-23! )​

Verhalten:
keep: Daten der Partition erhalten
wipe: Formatieren (Daten futsch)​

Filesystem:
ext4 Volle Unterstützung für Verschieben, Größenänderung, Formatierung
vFat Volle Unterstützung für Verschieben, Größenänderung, Formatierung
f2fs Nur Verschieben oder Formatieren. (Größenänderung nur mit Formatierung)
swap Nur Formatieren. (Verschieben und Größenänderung nur mit Formatierung)
raw Nur Verschieben. (Keine Größenänderung, keine Formatierung)​

(Obige Angaben zum Filesystem sind geräteabhängig. Beim i9100 kommen swap und raw nicht zum Einsatz.)


Standardwerte für das i9100:
folgende Angaben sind für das Galaxy S2 vordefiniert und können gemäß obiger Syntax durch den Zip-Namen explizit anders definiert werden. Lässt man also einzelne oder alle Angaben zu einer Partition im Namen der ZIP-Datei weg, so kommen diese Werte hier zum Tragen:

-system=same+keep+ext4
-data=same+keep+ext4
-sdcard=same+keep+vfat
-preload=same+keep+ext4

(lässt man einen Konfigurationsbestandteil weg, muss das „+“ trotzdem angeben werden:
-sdcard=++ext4 entspricht dann -sdcard=same+keep+ext4)
(ANMERKUNG: Aufgrund eines Bugs war in den 20160923-Downloads das Weglassen der Größe nicht möglich, wenn man danach noch andere Parameter für eine Partition angab. Also "irgendeinepartition=++ext4" oder "=+wipe" wurde als Syntaxfehler berichtet. Der Bug wurde mit den 20170115-Versionen wieder behoben.)
Es empfiehlt sich aber ohnehin, nur noch die aktuellste Version von REPIT zu nutzen.

Hinweise
Status: Stable

Die Nutzung erfolgt natürlich auf eigene Gefahr, aber bislang wurden keine Fälle bekannt, wo Daten verloren gegangen wären. Ein Backup zu besitzen ist aber dennoch beruhigender, um nicht zu sagen Pflicht. Denn Obacht! Wenn man eine Partition auf „wipe“ setzt, kommt natürlich auch ein Wipe dabei raus! Und letztlich übernehme ich auch keine Verantwortung dafür, dass hier genannte Beispiele fehlerfrei sind oder auch noch bei der nächsten Version des Tools in dieser Namensvariante dieselbe Funktion haben.

Will man alle Daten erhalten ist logischerweise eines Voraussetzung:
Natürlich muss entsprechender Platz vorhanden sein. Will man also von der Werkspartitionierung (0,5GB System/2GB Data/11,5 GB interne SD/0,5 GB Preload) auf 1,5GB System/6GB Data wechseln, so darf selbst wenn man Preload nicht nutzt (auf 8MB setzt), die interne SD logischerweise nicht mit mehr als 7GB gefüllt sein, denn es wird ja nicht mehr Platz geschaffen, sondern nur umverteilt.

Wenn man eine andere Recovery verwendet: das Tool prüft alle benötigten Binaries ab, bevor es loslegt. Theoretisch (und praktisch auch) kann man es also auch mit anderer Recovery versuchen. Wenn nicht alles benötigte gefunden wird, wird man deutlich darauf hingewiesen: "FATAL: xxx tool is missing (try running under TWRP)“. Das kann einem auch dann begegnen, wenn man es in einer TWRP ausführt.

Falls man den entsprechenden Kernelsupport hat (also einen Trim-enabled-Kernel), werden ext4-Partitionen auch gleich getrimmt. (Lanchons Trim-Kernel gibt es HIER , CM13-Nightlies ab cm-13.0-20160303-NIGHTLY-i9100.zip haben TRIM bereits unter der Haube)

Will man “nur” die Systempartition auf 1GB vergrößern und nutzt kein Preload, kann man die Datei so verwenden, wie man sie heruntergeladen hat (Syntax ab 2016-09-23) :
lanchon-repit-20170115-system=1G-data=same-sdcard=max-preload=min+wipe-i9100.zip
(dies hilft dann schon, um nach Update auf CM13 wieder GApps installieren zu können)


Sonstiges:
Wenn es auf Fehler läuft, dann ist das Log sehr aufschlussreich. Oft hilft es, noch einmal gemountete Laufwerke zu trennen und es neu laufen zu lassen. Schaut Euch aber auf jeden Fall die Meldungen an. Ggf. auch in der TWRP Recovery eine Eben zurück gehen und das Symbol in der Mitte drücken um den ganzen Bildschirm zu sehen. Am besten auch das Recovery.log auf SdCard kopieren (unter Advanced in TWRP)

Hat man eine EXT4 formatierte interne SD, benennt die Zip aber nicht entsprechend, so läuft der Filesystem-Check ggf. auf Fehler. Dann einfach im Namen korrigieren und nochmal laufen lassen.

Wenn man nur umpartitionieren möchte, aber die Daten ohnehin gelöscht werden sollen, weil man z. B. auf ein anderes ROM wechselt, dann läuft es natürlich wesentlich schneller ab, wenn man das Tool auch direkt die Partitionen wipen läßt.

Nutzt man das Dualboot-Feature des DorimanX-Kernels, so darf man natürlich die Preload-Partition nicht verkleinern. (wenn noch mehr Nutzungsfälle für die Preload Partition bekannt sind, immer her damit)

Wenn man das Tool auf einem verschlüsselten Gerät laufen lässt (es soll ja Leute geben, die nicht vorher lesen, sondern nachher), dann bricht das Tool ab, weil es die Partitionstabelle nicht neu einlesen kann.

Seit Version 2016-02-16 werden auch Nicht-16GB-Varianten des i9100 unterstützt.
(komplettes Changelog im Post #2)

ACHTUNG: Geänderte Syntax für Größenangaben ab 2016-09-23!!!

Beispiele:
Ihr habt noch die Werkspartitionen und -formatierung und könnt keine GApps mehr flashen, weil Ihr auf CM13 aktualisiert habt, dann nutzt sie so wie heruntergeladen:
lanchon-repit-20170115-system=1.0G-data=same-sdcard=max-preload=min+wipe-i9100.zip

1GB System, 6GB Data, minimum Preload, dabei System, Data & SdCard erhalten
:
lanchon-repit-XXXXXXXX-system=1G-data=6G-sdcard=max-preload=min+wipe-i9100.zip

1GB System, 6GB Data, minimum Preload, dabei System & SdCard erhalten aber Data formatieren:
lanchon-repit-XXXXXXXX-system=1G-data=6G+wipe-sdcard=max-preload=min+wipe-i9100.zip
Info: Data löschen ist wesentlich schneller als es zu verschieben, wenn System vergrößert wird und Data groß ist

1GB System, 6GB Data, minimum Preload, dabei SdCard erhalten aber System und Data formatieren
:
(z. B. wenn man ohnehin ein neues ROM flashen möchte)
lanchon-repit-XXXXXXXX-system=1G+wipe-data=6G+wipe-sdcard=max-preload=min+wipe-i9100.zip

zurück auf die Werkpartitionierung:
lanchon-repit-XXXXXXXX-system=0.5G-data=2G-sdcard=max-preload=0.5G-i9100.zip (preload erhalten)
lanchon-repit-XXXXXXXX-system=0.5G-data=2G-sdcard=max-preload=0.5G+wipe-i9100.zip (preload formatieren)
lanchon-repit-XXXXXXXX-system=0.5G+wipe-data=2G+wipe-sdcard=max+wipe-preload=0.5G+wipe-i9100.zip (ALLES formatieren)

Einfach nur Trimmen (und Filesystem check) (Voraussetzung: Trim-Kernel, wie oben erläutert)
lanchon-repit-XXXXXXXX--i9100.zip

_______________________________________________________
Link zum originalen Thread zum XDA

Link zum Thema auf GitHub
Weitere original Threads hier genannter Themen
 
Zuletzt bearbeitet:
the.gangster

the.gangster

Stammgast
Historie ========

UPDATE (15.01.2017)

Änderung im Build 2017-01-15:
- Bug (der sich mit Build 2016-09-23 eingeschlichen hat) wurde behoben:
Dateinamen ohne Partitionsgrößenangaben wurden fälschlicherweise mit Fehler quittiert.
- Neue Standardparameter für i9300
- Als neue Hauptversion enthält es außerdem die Änderungen, die hier nach 2016-09-23 bereits protokolliert wurden.

UPDATE (05.01.2017)
Änderung im Build 2017-01-05*:
- Unterstützung für BN Nook HD (Hummingbird)**

*) Keine eigenständige Version. Download befindet sich im Ordner für Build 2016-09-23 und neuer.
**) Optional Aktionen zur Freigabe weiterer ~0.5Gb in der Factory-Partition möglich (click)

UPDATE (06.12.2016)*
- Unterstützung für Moto G 2013, non-GPE und GPE Versionen (falcon bzw falcon_gpe) wurde zurückgezogen.
Es wurde zweifelsfrei festgestellt, dass auf dem Gerät signierte GPTs zum Einsatz kommen. Durch eine Änderung der Partitionsgrößen bestünde daher die berechtigte Gefahr eines Hard-Bricks (also der Umwandlung in einen Briefbeschwerer)

*) Keine neue Version. Nur die Entfernung eines Downloads

UPDATE (19.11.2016)
Änderung im Build 2016-11-19*:
- Unterstützung für BN Nook HD+ (bntv600 / Ovation)**

*) Keine eigenständige Version. Download befindet sich im Ordner für Build 2016-09-23 und neuer.
**) Optional Aktionen zur Freigabe weiterer ~0.5Gb in der Factory-Partition möglich (click)

UPDATE (18.10.2016)
Änderung im Build 2016-10-18*:
- Unterstützung für Galaxy S3 LTE (i9305)

*) Keine eigenständige Version. Download befindet sich im Ordner für Build 2016-09-23 und neuer.

UPDATE (23.09.2016)
Änderungen in Build 2016-09-23:
- Größeneinheiten für Partitionsgrößenangaben hinzugefügt:
die Größenangaben müssen jetzt eine obligatorische Einheit ("G" oder "M") enthalten
Änderung ist nicht rückwärtskompatibel ! Dateinamen mit alter Syntax werden nicht mehr unterstützt
Standardpartitionsgrößen und Zipnamen der Downloads der neuen Version wurden an das neue Format angepasst
- Überprüfung von ext4 Partitionsgrößenangaben während der "dry run"-Phase:
Abschätzen der minimal möglichen Größe auf die das Dateisystem verkleinert werden kann
Sicherstellen, dass die neue Partitionsgröße erstellt werden kann, bevor Änderungen durchgeführt werden
Aktuell wird dies nur für ext4 Partitionen unterstützt
- Neue Standardparameter für die Geräte 'j5lte' and 'klte'
- kleinere Code-Bereinigungen
- Dokumentation wurde aktualisiert
- Unterstützung für Xiaomi Redmi Note 4G (dior)
- Unterstützung für Moto G 2013, non-GPE und GPE Versionen (falcon bzw falcon_gpe)

UPDATE (23.07.2016)
Änderungen in Build 2016-07-23:
- Unterstützung für Samsung Galaxy S5 G900F (klte)
- Unterstützung für Samsung Galaxy J500F Duos (j5lte)
- Unterstützung für HUAWEI Honor 4X Che1-CL20 (cherry)
- Nicht signierte Version von repit-dump (Workaround für Fehler "flashize-ext: unable to extract package contents" nur für Dump - nicht für das Repit-script selbst!)
- readlink gefixt
- Verbesserte "retry-if-locked" Meldung
- Quoting gefixt
- Logging jetzt immer nach /tmp/lanchon-repit.log
- (Update README.md)
- (Update Zipnamen für janice (Neue Repit-Versionen für janice werden ...system=1.0-data=3.0-cache=0.03125+wipe-preload=min+wipe-fota=min+wipe+ext4-sdcard=max...heißen))

Anmerkung: obiger Build ist aktuell noch nicht auf der GitHub-Seite fertig "released" (da sich Lanchon aktuell auf Europa-Reise befindet) kann aber von seiner Downloadseite bezogen werden.

UPDATE (15.04.2016)
Build 2016-04-15 bringt folgende Änderungen:
- F2FS Support (siehe Anmerkung)
- SWAP Partition Support
- bessere vFAT Fehlerinformationen
- Unterstützung für toro (Galayxy Nexus Verizon)
- Unterstützung für toroplus (Galaxy Nexus Sprint)
- Unterstützung für sc02c (Galaxy S II SC-02C)

Anmerkung: wenn die Recovery keine fsck.f2fs mitbringt -wie z.B. die derzeit aktuelle TWRP 3.0.2-0 von arnab - so wird der Dateisystemcheck ausgelassen!

UPDATE (06.04.2016)
Build 2016-04-06 bringt folgende Änderungen:
- die eigene Laufzeitumgebung (Neuerung aus letztem Build) wurde wieder entfernt, da sie zu viele Probleme machte.
- direkte Unterstützung für TWRP 2 und TWRP 3 (durch Tool-Erkennung der vorhandenen binaries)
- basiert auf Lanchons komplett überarbeiteten Flashize, was es kompatibler machen soll
- Das dump tool wurde auch überarbeitet, um die Portierung auf neue Geräte zu vereinfachen
- Unterstützung für i9300 (Galaxy S3)
- Unterstützung für maguro (Galaxy Nexus GSM)

UPDATE (29.03.2016)
Build 2016-03-28 veröffentlicht mit folgenden Neuerungen:
- bringt jetzt seine eigene Laufzeitumgebung mit, was es unabhängiger* von bestimmten Recoveries macht
- Unterstützung von "adb sideload" durch separate Einstellungsvorgaben
- erstellt ein Log ("lanchon-repit.log") im Quellordner (normalerweise /tmp). (Bei sideload: "/tmp".)
- das zusätzlich flashbare dump tool "repit-dump.zip" erstellt jetzt auch eine "repit-dump-out.txt" Logdatei

*) Somit sollte es ab jetzt auch unter TWRP 3.0.0-0 laufen.
Die CM-Recoveries kommen aber aufgrund der Tatsache, dass sie die eMMC locken dennoch nicht infrage.

UPDATE (17.03.2016)
Unterstützung hinzugefügt für:
- Gerätespezifischen Code in eigener Ordnerstruktur (Multi-Device-support)
- weitere S2 exynos-basierende Geräte: i777, n7000, d710 und sc02c
- omap-basierendes S2: i9100g
- janice, das GT-I9070 S Advance a.k.a. S2 Lite
- 'shuffled' partitions, wo die physische von der numerischen Partitionsreihenfolge abweicht
- unterschiedliche 'Heaps' auf einem Gerät, wobei jeder einen Partitionssatz darstellt, den REPIT unabhängig handhaben kann
- ansteckbare Dateisystem/Partitionstyp-Handler
- "crypto footers" (Filesystemabhängig) welche auf manchen Geräten zur Verschlüsselung gebraucht werden
- "crypto footer" im ext4 Filesystem-Handler
- einen "raw" Partitionstyp: raw Partitionen können weder in der Größe geändert noch gelöscht, sondern nur verschoben werden. (dies erlaubt die Anlage größerer Heaps, wo der Inhalt einzelner Partitionen nicht von Repit verstanden werden kann.)
- nicht-konfigurierbare Partitionen in Heaps (für 'kritische' Partitionen die immer als 'raw' behandelt werden sollten).
- automatische Erkennung des nutzbaren Block Device Bereichs (Speicherbereichs)
- swap Deaktivierung während des Betriebs (wenn der 'swapoff' Befehl verfügbar ist).
- "adb sideloading"-Erkennung und Ausstieg mit entsprechendem Fehler-Hinweis (da beim sideloading der Skriptdateiname verändert wird, ginge die darauf basierende Konfiguration verloren)
- Abhängen (unmount) der externen SD, um Fehler zu vermeiden.
- pro Heap konfigurierbare Definitionen (Partitionszuordnung, Größengranularität (Sektorgrößenanpassung) und Definition des "min"-Schlüsselworts das im Dateinamen genutzt werden kann).
- konfigurierbare Größe der Datenhäppchen (die beim Verschieben der Partitionen genutzt werden), um Geräte mit wenig Speicher zu unterstützen.
- konfigurierbare Block Device Sectorgröße
- neues device-dump Tool, um Reports auf bislang nicht unterstützten Geräten zu erzeugen und damit die Portierung zu erleichtern.


UPDATE (10.03.2016)
--die jüngst erschienene TWRP 3.0.0.0 recovery läuft nur unter CM13 (oder DorimanX Kernel), ihr fehlen aber aktuell (noch) Binaries, die für REPIT benötigt werden.

UPDATE (03.03.2016)
--zwar kein neues Tool, aber einen Hinweis wert: ab CM13-Nightly vom 03.03.2016 hat der Kernel endlich trim-Unterstützung.

UPDATE (25.02.2016)
Fehlerbehebung für Formatieren mit vFat auf Partitionen >4GB
Testen, ob die Zielpartition erstellt werden kann, bevor eine Partition verschoben wird
Versuch, die Ursprungspartition wiederherzustellen, wenn die Anlage der Ersatzpartition fehlschlug
Build- und Testskripte hinzugefügt

UPDATE (16.02.2016)
support für 8, 16 und 32GB Varianten des i9100
Stabilitätsverbesserungen
- Versuch der Rettung der Partitionsdaten, wenn beim Verschieben von ext4-Partitionen ein HW-Read-Error auftreten sollte
- Plausibilitätsprüfung verbessert

UPDATE (13.02.2016)
Defaults wurden auf "same+keep" geändert:
- weil u. a. DorimanX die Preload Partition für das Dualboot Feature nutzt.
- um bei falscher Namensgebung sicherer zu sein
Besseres Logging, insbesondere bei Fehlern

UPDATE (12.02.2016)
Lanchon hat eine erste offizielle Version veröffentlicht.
Ich reposte hier mal den Opening Post von XDA (ganz am Ende)
Es scheint, als teile er meine Ansicht, dass chef-koch damit zuweit gehst, wenn er seine Downloads jetzt sogar mit ausgetauschtem eigenem Copyright verteilt!
Vorher hatte ich ja schon mal vorgeschlagen, deutlicher auf ihn zu verweisen.
Aber sein Werk zu verwenden aber in den Scripten jetzt 1:1 Deinen Namen ins Copyright zu setzen geht echt zu weit.
Er hat es damit jetzt in seinen Open Post geschaftt (siehe weiter unten)

UPDATE (11.02.2016)
Wichtig:
- in TWRP *wirklich* alle Partition unmounten
- die Meldung ob System Read-only gemounted werden soll logischerweise weghaken
- die interne SDCard muss vFAT formatiert sein!
- am problemlosesten scheint es von /tmp zu laufen.

##### Dieser Thread beschrieb ursprünglich ein Vorab-Release, welche vom Entwickler selbst zurück gezogen wurde. Daher wurden mittlerweile nicht mehr themenbezoge Beiträge von den Moderatoren gelöscht. ###############


Opening Post vom 12.02.2016
Lanchon;65239832 schrieb:
Lanchon REPIT: A Data-Sparing Repartitioning Tool for the Galaxy S2 i9100

NEW VERSION !!!
-> you can configure it to resize or wipe partitions any way you want.
-> fixes most umount and file system issues by itself.
-> even more resilient.


Powered by Flashize.

It is recommended that users of the old 0.1 version reflash this update: it will clean up minor issues that the old version might have left behind in some cases.

IF... your stock-partitioned device cannot flash gapps after updating to CM 13.0

download and flash the file as it is. it will get most space from the unused /preload partition and only 8MB for the internal sdcard, and then make /system 1GB in size. it will keep you current /data size constant, whatever it is. it will retain all data except data in /preload, which is unused in custom roms.

IF... your device is usable

you can nonetheless use this script to do general repartitioning, file system fixing, wiping, and/or file system type changes. download the script, rename it to express your desired configuration (see below), and then flash it.

HOW TO

  1. get my latest IsoRec TWRP (by arnab) running.
  2. make sure your battery is mostly charged.
  3. get the zip attached to next post.
  4. if desired, rename it to express your desired configuration (see below).
  5. plug into a power source. this operation might take a long time and it must not be interrupted.
  6. flash the script. if it cannot unmount all partitions by itself, it will copy itself to the /tmp directory and ask you to flash a second time from there. in case there are still unmount issues, you can help by manually unmounting all partitions IN TWRP and retry flashing from /tmp.

and go get a coffee or two. do not, under any circumstance, interrupt this script !!!

HOW TO CONFIGURE

valid zip name: <prefix>[-system=<conf>][-data=<conf>][-sdcard=<conf>][-preload=<conf>]<suffix>
valid partition <conf> value: [<size-in-GiB>|same|min|max][+[keep|wipe][+[ext4|vfat]]]

sizes:
-same: keeps current size
-min: 8MB partition (useful for unneeded partition 'preload')
-max: make this partition as big as possible

defaults:
-system=same+keep+ext4
-data=same+keep+ext4
-sdcard=max+keep+vfat <- defaults to growing sdcard as much as possible
-preload=min+wipe+ext4 <- defaults to wiping preload and shrinking it as much as possible

samples:
repartition to stock (wiping preload, which is the default action):
-> lanchon-repit-XXXXXXXX-system=0.5-data=2-preload=0.5-i9100.zip
repartition to stock (without wiping preload):
-> -system=0.5-data=2-preload=0.5+keep
wipe data (in addition to defaults for data and preload, see above):
-> -data=+wipe
wipe/change internal sdcard to ext4 (in addition to defaults) [not recommended by me]:
-> -sdcard=+wipe+ext4
repartition to 1GB system, 6GB data, no preload, keeping all other data:
-> -system=1-data=6
repartition to 1GB system, 6GB data, no preload, keeping all other data, for phones with ext4-formatted internal sdcard:
-> -system=1-data=6-sdcard=++ext4
repartition to 1GB system, 6GB data, no preload, keeping system and sdcard but wiping data (much faster if system is being resized and data is big):
-> -system=1-data=6+wipe

IN CASE OF ISSUES

if there are any problems, read the log! you can scroll it. most likely it will tell you want is wrong and what to do about it. otherwise, make sure to somehow record the log. take a picture of it at least; you can see a full screen log by hitting the back button once, then the center button at the bottom of the screen that looks like a TV screen. afterwards, you can try reflashing the script if you understand what happened and flashing it again makes sense.

PLEASE NOTE: i am not interested in your 'did not work' report in the least bit, unless you post info from your log. if you cannot post any info from the log, then just not post at all. thank you.



DISCLAIMER

i believe this software to be very safe and i exercised it a lot before posting. but i accept no responsibility if your data is lost or your device is bricked.




we interrupt your regular programming to bring you this breaking news...

"CHEF-COOK" IS A THIEF !!!


it is unbelievable!!! this mindless idiot took my just-published software, removed the license, removed my copyright, added himself as an author, and republished it in a german forum as his own work. (here is the same link via Wayback Machine, in case the idiot decides to delete his post.) he also republished the older v0.1 unfinished release i did to help people in a tight spot with CM13, even though that release *was not free software*. (it was specifically *not* licensed as free software to avoid copies of the unfinished work spreading around; however the current version is GPLv3.) he also stole Flashize, another tool i published these days.

the plagiarized files are currently published here, but might be removed anytime. a copy of all files was uploaded to post #3 for posterity.

i did delete my old published v0.1 files from xda, but fortunately i did not delete some customized versions of v0.1 that i produced on request that are still available here and here. most importantly, i announced that i was working on a partitioning tool and 6 hours later published the full complex log of a working, pre-release version of the application. that was 3 full days before the idiot published "his" software... lol.

WHO IS THIS "CHEF-COOK" TWAT THIEF ANYWAY ???

and what was going on in his atrophied little brain that made him do this? well, we might never know more about his intriguing mental disorder, but... you can certainly help me find out who this creep is! let's collect as much information as possible about this person here. it is very unlikely that this is the only time he has done this, and i can tell you this is very demotivating for a developer. so protect your developers by helping them expose this clown in case they happen to cross paths with him. TAG HIM >>> if you can... :) also, his clients and/or employers better know what kind of "work" this guy does.

android-hilfe.de: CHEF-KOCH
xda-developers.com: CHEF-KOCH
github.com: CHEF-KOCH
google.com: Nvinside@gmail.com

he has this info on GitHub:
InfoSec Institute/nVidia EU
InfoSec Institute - Information Security Training and IT Boot Camps
Lausanne



[NOPARSE]XDA:DevDB Information[/NOPARSE]
Lanchon-REPIT-i9100, Tool/Utility for the i9100

Contributors
Lanchon

Version Information
Status:
Beta

Created 2016-02-09
Last Updated 2016-02-12
 
Zuletzt bearbeitet:
Nick Knight

Nick Knight

Ehrenmitglied
Um für Neueinsteiger Irritationen zu vermeiden, habe ich alle Beiträge die sich auf die Vorab-Version bezogen haben entfernt.
Diese Vorab-Version wurde auch vom Entwickler zurück gezogen.

Ich Bitte um Verständnis bei den betroffen Mitgliedern die ihre Beiträge vermissen.


Gruß Nick Knight​
 
fireburner

fireburner

Stammgast
Wow @the.gangster, ist sehr gut geworden, die Beschreibung!

Was mir aufgefallen ist: da wo du die Standardwerte angibst: Du schreibst Standard für /system wäre keep, ergo ist aber der Standard 1GB, laut filename ;)

Dann noch eine Frage, die es sicher lohnt, noch mit aufzunehmen:
Kann ich mein Nandroid Backup nach dem Umpartitionieren zurück spielen?
(Meines Wissens sollte das gehen. Falls das Blockmässig geschrieben wird, müsste man dann nur die Partition resizen anschließend.)
 
the.gangster

the.gangster

Stammgast
Hallo @fireburner
Danke für das Lob. Hab mir auch Mühe gegeben.

Zu den Standardwerten:
die beziehen sich auf die Syntax. Wenn man Konfigurationsparameter nicht im Namen angibt, dann gelten diese Standardwerte.
Dadurch kann man den ZIP-namen stark verkürzen bis hin zu dem Beispiel zum Trimmen, was ja dann quasi komplett die Standardwerte verwendet.

Zum Nandroid: Klar kann man anschließend ein Backup zurückspielen. Letztlich kein Unterschied zum per PIT-file und ODIN partitionierten Speicher, nur dass alle Daten noch da sind (keep) oder schon formatiert ist (wipe). Endlich keine Erklärung mehr notwendig, wie man denn in TWRP die Preload-Partition formatieren kann.
Richtig: Sollte es tatsächlich ein blockbasierendes Backup (oder ROM) sein, was man auf- oder zurückspielt, dann kann man es wie du schon sagtest unter Wipe -> advanced -> Resize wieder korrigieren.
 
onlyfor.foren

onlyfor.foren

Stammgast
@the.gangster
Feine Anleitung, danke. :thumbup:

Ich ja auf CM12.1 zurück wegen ein, zwei Apps die nicht mit meiner externen SD klarkommen.
Partitionen waren zuvor schon auf 1GB System und 4GB Data per Odin umpartitioniert.
Preload hatte ich allerdings "vergesssen" zu verkleinern.
Das konnte ich nun mit Lanchons Script erfolgreich nachholen ohne jeglichen Datenverlust.
Umbenannt in:

lanchon-repit-XXXXXXXX-system=same-data=same-sdcard=max-preload=min+wipe-i9100.zip


Eventuell hilft es dem ein oder anderen der wie auch ich die preload "vergessen" hat.

Zwei Fragen stellen sich mir aber dazu.
Wo wird jetzt der freigegebene Speicher genutzt?
Im Solid Explorer wurde mir die preload vor mit ~ 500MB angezeigt, jetzt nicht mehr.
Sollte doch zumindest in verkleinerter Form noch sichtbar sein, oder?

Hints?
 
the.gangster

the.gangster

Stammgast
@onlyfor.foren
da ja die default für alle partitionen auf same+keep+ext4 (bzw. vfat für internalSD) stehen, reicht auch:
lanchon-repit-xxxxxxxxxx-sdcard=max-preload=min+wipe-i9100.zip
das aber nur am Rande.

Ich nutze nicht den Solid Explorer, aber die DiskInfo App. Dort solltest du sehen können, dass preload nach deiner o.g. Namensgebung nur noch 8MB groß ist.
Deine interne SD sollte um ~504MB gewachsen sein. Alternativ kannst du sowas auch im Terminal mit df -h anschauen.
Das Skript schreibt auch ein Log, wo genau aufgelistet wird, was passiert. Das kannst du in der Recovery auf die SD kopieren und dann auch nach dem Hochfahren noch anschauen (oder bei Problemen posten)
 
onlyfor.foren

onlyfor.foren

Stammgast
the.gangster schrieb:
@onlyfor.foren
Ich nutze nicht den Solid Explorer, aber die DiskInfo App.
Ich auch, allerdings vergas ich auf den Expert Mode umzuschalten. Dazu noch Show mount Path aktivieren.
Jetzt wird mir preload mit 8MB angezeigt. Alles gut. :thumbup:
 
sopur

sopur

Fortgeschrittenes Mitglied
Bei mir zeigt es bei Preload 8,38MB belegt von 504Mb an, siehe anbei! Kann ich trotzdem bei Preload "min" angeben? Min = ist ja 8MB.
Unter Mount alles X (weg) abhaken auch Micro SD? und back zu Install?
 

Anhänge

fireburner

fireburner

Stammgast
Die 8,3MB hat meine /preload auch, obwohl ich sie vor kurzem formatiert hatte.
Diese 8MB ist also das was das ext4 Filesystem für eine 512MB verbraucht.

Sofern du kein Dualbokt verwendest, kannst du diese gefahrlos verkleinern und wipen.
 
sopur

sopur

Fortgeschrittenes Mitglied
So, habs jetzt mit dieser Konfiguration gemacht! lanchon-repit-xxxxxxxx-system=same+keep+ext4-data=6+keep+ext4-sdcard=max+keep+vfat-preload=min+wipe-i9100.zip
von der externen SD! Hat geklappt! :thumbsup:
 
the.gangster

the.gangster

Stammgast
Kurze Anmerkung (auch wenn ich verstehe, dass man es sicherheitshalber mit angibt)
@sopur Deine Konfiguration entspricht aufgrund der vordefinierten Standardwerte auch nachfoldender kürzerer Schreibweise:
lanchon-repit-xxxxxxxx-system=same+keep+ext4-data=6+keep+ext4-sdcard=max+keep+vfat-preload=min+wipe-i9100.zip
entspricht
lanchon-repit-xxxxxxxx-data=6-sdcard=max-preload=min+wipe-i9100.zip
 
J

Jae2804

Fortgeschrittenes Mitglied
Als ich das Trim Skript von der internen eMMC geflasht habe, kam die Fehlermeldung, dass er dieselbige nicht mounten konnte. Als ich von einer externen SD Karte geflasht habe ist es durchgelaufen.
 
the.gangster

the.gangster

Stammgast
@Jae2804
:)
Deshalb steht in der Anleitung hier ja auch so ziemlich als erstes:
the.gangster schrieb:
Die heruntergeladene Zip entsprechend der gewünschten Partitionierung gemäß unten aufgeführter Syntax umbenennen und auf die externe SD legen oder direkt nach /tmp kopieren
 
J

Jae2804

Fortgeschrittenes Mitglied
the.gangster schrieb:
@Jae2804
:)
Deshalb steht in der Anleitung hier ja auch so ziemlich als erstes:
Dachte das bezog sich nur auf das Skript um zu pitten?
Deswegen war ich auch etwas irritiert, warum die Information auch in diesen Thread soll ;)
Habe ihn auch bis eben nicht gekannt.
Gute Arbeit Jungs!
 
the.gangster

the.gangster

Stammgast
Es ist das selbe Skript. Ich hatte die Variante zum "nur trimmen" hier auch unter den Beispielen aufgelistet. Im XDA original ist davon keine Rede.
Fireburner hat das aufgegriffen und in einem eigenen Thread beschrieben, weil der CM13 thread dauernd mit Fragen zu trim gelöchert wurde.
 
the.gangster

the.gangster

Stammgast
#### Newsflash #####
Ich werde den OP überarbeiten, da Lanchon einerseits eine neue Version veröffentlich, aber das Projekt auch von XDA weg verlagert hat.
UPDATE: hatte ich gestern noch erledigt. Aktuell ist jetzt das Skript in Version 20160225.
 
F

Fred41

Neues Mitglied
Hallo,
Ich bin mutig geworden und möchte gerne cm13 auf mein i9100 bringen. Wenn ich die hier beschriebene Methode zur Umpartitionierung verwenden will - muss ich dann von meinem omnirom (4.4) zunächst auf cm12.1 wechseln? Oder kann ich auch gleich auf cm13 gehen und die Umpartitionierung später vornehmen?
 
the.gangster

the.gangster

Stammgast
Solange alles in die Deine System Partition passt, kannst du es auch noch später machen. Allerdings wirst Du mit der original 512MB Systempartition (mmcblk0p9) keinen Platz haben, die GApps direkt mit zu flashen. Also selbst, wenn Du jetzt beim Update die Systempartition löschst, um die alten Google-Apps darin los zu werden, wird kein Platz darin sein, um das neue CM13-ROM mit den Android6-Pico-GApps zusammen zu flashen.
Du kannst aber auch unter dem aktuellen 4.4er Omni-ROM mal (nach einem Backup) versuchen, ob sich das Skript hier denn flashen ließe. Abhängig davon, was Dir dort in der Recovery für Tools zur Verfügung stehen, könnte es ja damit auch bereits klappen. Alle benötigten Tools werden von Lanchons Skript erst auf Vorhandensein abgeprüft, bevor sie aufgerufen werden.
Falls es nicht reicht, könntest Du auch aus der aktuellen Recovery eine IsoRec-Recovery und nur einen 12er oder 13er Kernel flashen, damit Du anschließend in die IsoRec-Recovery kommst. Darin würdest Du dann das Repit-Skript flashen und hättest dann die Partitionen angepasst. Wenn das dann durchgelaufen ist, könntest Du anschließend das ROM Deiner Wahl flashen.
 
the.gangster

the.gangster

Stammgast
##### Hinweis
die jüngst erschienene TWRP 3.0.0.0 recovery läuft nur unter CM13 (oder DorimanX Kernel), ihr fehlen aber aktuell (noch) Binaries, die für REPIT benötigt werden.