Clean Install / Clean Flash Custom ROM

-Post must be written or translated in German, there are several services available e.g. deepl.com (recommended) or Google Translate.

- In the case of translations, the translated text in English must be included. So that the translation can be corrected if necessary.
  • Hier mal meine Erfahrungen zum Thema Aktuellhalten eines Custom ROM.


    Auf meinem Redmi 4A läuft seit einiger Zeit Resurrection Remix - Android 9 (mit Pitch Black Recovery Project / TWRP Fork) was monatlich mit Android Sicherheitspatches upgedated wird.


    Bisher hatte ich das Problem, mit dirty flashs kein gutes Gefühl zu haben und vereinzelte Fehlfunktionen mitzuschleifen. Außerdem stellte ich fest, dass Sachen im Betriebssytem wie meine hosts Datei auch erhalten blieben, also RROS beim Installieren nicht komplett die Systempartition formatiert, oder mindestens ausgewählte alte Sachen übernimmt, was mir auch eine potentielle Fehlerquelle scheint.


    Mittlerweile hab ich folgenden Prozess etabliert:

    Ich mache regelmäßig einen kompletten Clean Install der neuesten ROM. Mit wipen aller App-Data in /data/data und /system und gleich noch /vendor.


    Neueste Firmware bezog ich von *Link ausgeblendet*
    Bitte registriere oder Melde Dich an um alle Links im Forum zu sehen. Klick dazu hier und flashte sie aus dem Recovery. Für mein Telefon ist die finale Version draußen.


    Doch einen Schritt zurück:

    Vorher ist das Backup wichtigster Daten natürlich der Schlüssel zum Erfolg.


    Alle APK meiner persönlichen Apps ziehe ich mit APK Extractor zusammen.

    SMS, MMS und Anrufliste sichere ich frisch in ein IMAP Postfach mit SMS Backup+

    Firefox Profil inklusive Erweiterungen und Konfiguration aus /data/data/org.mozilla.firefox/files/mozilla/ ziehe ich in einen Ordner, uBlock origin Konfiguration wird noch redundant exportiert.

    AFWall iptables Custom Skript, hosts file, und eine /system rewrite-remount Shellskript das ich unter /system/xbin/ ablege sind eh immer gesichert (Wobei es bei AFWall auch noch eine Exportfunktion von den paar anderen Einstellungen gibt).

    Kontakte werden als .vcf exportiert.

    K9 Mail Konfiguration wird exportiert.

    Signal Chatlog wird frisch gesichert.

    AnySoftKeyboardPrefs.xml wird exportiert und gesichert.


    Wer viele WLAN benutzt, kann noch /data/misc/wifi/WifiConfigStore.xml sichern.


    Dann hat man noch von irgendwelchen Apps wie Kalender den ein oder anderen Export zu machen oder die ein oder andere SQL Datenbank manuell zu sichern.


    Die Sachen schön wegspeichern.


    So dann verabschiede ich mich von der Installation und mache die Wipes von /data/data, /system und den caches in PBRP. Natürlich bleiben die sonstigen Daten in /storage/self/primary und in der externen Speicherkarte unangetastet.


    Dann wird das neue ROM Zip geflasht plus aktuelle Magisk Version.


    Die ganzen nötigen Neuinstallationen und Konfigurationen lassen sich zum Teil weiter automatisieren, ich mache den Rest aber manuell, wie Apps installieren, Icons anordnen, einige wichtige System-, und Appeinstellungen machen. Wenn man es oft macht, dann reduziert man es dafür auf die wesentlichen Sachen, und es bleibt einem vor Augen, wo die wichtigen Einstellungen sind.


    Als erstes schalte ich Internet ab nach dem Reboot, installiere alle APK, deaktiviere das bisschen bloatware in RROS mit OpenAPK, gehe ins Terminal:

    Code
    1. /sbin/su
    2. busybox mount -o remount,rw /system
    3. cp /storage/self/primary/backup/rm.sh /system/xbin
    4. chmod 700 /system/xbin/rm.sh
    5. cp /storage/self/primary/backup/hosts /etc/hosts
    6. chmod 644 /etc/hosts
    7. cp /storage/self/primary/backup/iptables.sh /data/data/iptables.sh
    8. chmod 700 /data/data/iptables.sh


    Dann konfiguriere ich AFWall und Wlan und gehe online. Und mache den Rest.


    Ein Schlüssel für mich ist die Wiederherstellung des Profils von Firefox.

    Dort sind so viele Anpassungen in about:config dass eine Neukonfiguration vermieden werden muss.


    Das ganze funktioniert manuell, indem man Firefox frisch installiert aber nicht startet, und dann das backup wieder nach /data/data/org.mozilla.firefox/files/mozilla/ kopiert.


    Dann den Besitzer vom frischen Firefox Install rausfinden:

    Code
    1. ls -l /data/data/org.mozilla.firefox


    Das alte Profil in Besitz nehmen, z.B. mit:

    Code
    1. chown -R u0_a123:u0_a123 /data/data/org.mozilla.firefox


    Und noch die Cache Ordner ihrer rechtmäßigen Besitzergruppe zuführen:

    Code
    1. chown -R u0_a123:u0_a123_cache /data/data/org.mozilla.firefox/cache
    2. chown -R u0_a123:u0_a123_cache /data/data/org.mozilla.firefox/code_cache


    Zu guter letzt fand ich den *Link ausgeblendet*
    Bitte registriere oder Melde Dich an um alle Links im Forum zu sehen. Klick dazu hier, das SELinux noch seine Kontexte angepasst haben sollte:

    Code
    1. restorecon -Rv /data/data/org.mozilla.firefox


    Das alles ist zwar nervig. Aber besser als ein Betriebssystem mit irgendwelchen Inkonsistenzen mitzuschleifen. Danach lohnt es sich auch wieder, ein System Backup zu ziehen. So dass man bei Katastrophen auf eine integere kürzliche Version zurückgreifen kann, die es auch Wert ist, installiert, betrieben und weiter gewartet zu werden.


    Ein weiterer wichtiger Punkt ist:

    Wenn man keinen clean install macht, und 3 mal dirty flasht; wie soll man dann seriös irgendwo bugs/issues in einer ROM oder Software melden? Kann genauso gut sein, dass man den Laden selber kaputtgefummelt hat.


    Mich interessiert wie andere das machen. Ich habe den Prozess jetzt auf ein erträgliches Ritual gebracht.


    Gibt es noch einfachere Lösungen um das noch abzukürzen?


    Ich hab mit Oandbackup experimentiert, aber das ist noch Beta und wirft mir zu viele Fehler auf.

  • Super Anleitung, danke dir.

    *Link ausgeblendet*
    Bitte registriere oder Melde Dich an um alle Links im Forum zu sehen. Klick dazu hier
    *Link ausgeblendet*
    Bitte registriere oder Melde Dich an um alle Links im Forum zu sehen. Klick dazu hier
    *Link ausgeblendet*
    Bitte registriere oder Melde Dich an um alle Links im Forum zu sehen. Klick dazu hier
    *Link ausgeblendet*
    Bitte registriere oder Melde Dich an um alle Links im Forum zu sehen. Klick dazu hier



    Wer denkt er weiß alles, der irrt sich. ;)*Link ausgeblendet*
    Bitte registriere oder Melde Dich an um alle Links im Forum zu sehen. Klick dazu hier