Rooting Prozess verstehen (Installation/Update/Bootloops)

  • 3 Antworten
  • Neuester Beitrag
Diskutiere Rooting Prozess verstehen (Installation/Update/Bootloops) im Allgemeines zu Root, Kernel und Custom-ROMs im Bereich Android Allgemein.
D

droid-An

Neues Mitglied
Hallo zusammen,

wie schon in der Überschrift zu lesen ist, versuche ich das Rooten "einfach" zu verstehen.

Ich bin erst seit 1 Jahr mit Android unterwegs, vorher war es ein Nokia (Symbian). Darum auch diem vielleicht ein oder andere doofe frage.

Ich weiss es gibt zwei Arten des root Prozess, in der ersten werden direkt die Daten in /system verändert.
Bei der zweiten methode "Systemless" welches heutzutage Standard ist, wird nur die Boot Partition verändert und diese stellt "su" zur verfügung, bindet diese ins System ein, eben ohne wirklich die /system Partition zu verändern.

Also verstanden habe ich schon mal folgendes....
Es ist nie nur eine einfache "su" binary, sondern immer eine angepasste Version zum passenden Gatekeeper, in diesem Fall superSU, welches ich auch verwende.

Somit soll sichergestellt werden, sollte irgendeine App root rechte benötigen, das er diese nicht direkt von su bekommt, sondern dies immer über superSU (Gatekeeper) läuft und erst wenn diese abfrage bestätigt wird, die jeweilige app auch im root Kontext laufen darf.

Ist superSU schon installiert, braucht man nur die App zu aktualisieren, diese wiederrum aktualisiert die "su" binary das beide wieder kompatiebel sind/bleiben.

Sowiet hoffe ich alles richtig verstanden zu haben.

So, meine Frage welche ich habe ist folgende.
Ich besitze ein Honor 7, welches ich vor ein paar tagen/Wochen einige male neu aufgesetzt habe.
Als ich, nachdem ich das Handy frisch mit der neusten Firmware (B380) Android 6.0 aktualisiert hatte, versucht habe dies mit der aktuellsten superSU 2.79 über TWRP zu flashen, endete dies in einem Bootloop.
Nach ein wenig Recherche im Netzt war mein erster Fund die Version 2.6.2 von superSU, welches man in dieser Kombination bräuchte.
Mit dieser Version klappte auch das Flashen über TWRP anstandslos. Danach war es auch möglich dies über den PlayStore auf die aktuellste Version upzudaten.
Also habe ich in diesem Fall die aktuellste superSU incl. der aktuellsten binary drauf. Soweit so gut.

Jetzt wirklich die Frage.
Warum ist es dann nicht möglich gewesen, direkt die 2.79 zu flashen?
Wie schon geschrieben, ich bin recht frisch, habe also die Zeit indem die /system Partition direkt modifiziert wurde nicht mitbekommen.
Kann es sein, das es früher einfacher war (immer die aktuellste Version nehmen) und nun es mit der Systemless installation eher zu komplikationen kommen kann?
Oder ist systemless gar nicht schuld an dieser Sache.

Dann frage ich mich wirklich, warum es zu diesen Problemen kommt. Denn es muss ja nur "eigentlich" superSU + passende binary installiert und denen die passende Rechte zugewiesen werden. Nichts anderes als copy/paste + die passenden rechte zu setzen.

Und sollte nicht "eigentlich" eine Version, hier in diesem Fall 2.6.2 wenn diese ein Update bekommt, hier eben die aktuellste Version 2.79, dann erst recht funktionieren?
Oder wird aus Kompatibilitäts gründen nach einiger Zeit einfach alte funktionen entfernt?


Ich meine in keinster weisse, das dies zu bewerkstelligen/entwickeln/Programieren ein Kinderspiel ist, also das ich die Arbeit von chainfire nicht zu schätzen weiss. Mit "einfach" meine ich nur den Prozess wirklich vereinfacht dargestellt.

Hoffe mich kann da jemand mal kurz aufklären.

Viele Grüße
 
R

rudolf

Enthusiast
Du hast alles richtig verstanden, bis auf eins. Es reicht nicht nur das su binary und die Verwaltungsapp hineinzukopiern, es wird auch ein su deamon eingerichtet umd gestartet. Dass passiert beim flashen des zip per Recovery. Bei den vielen Androids kann mal bei einem neueren zip die kompatibilität zu älteren Gerätenverlogen gehen, denn geflasht wird einmal, dannach macht man updates.

Wenn du mal sehen willst wie komplex das Thema ist:
How-To SU
 
D

droid-An

Neues Mitglied
Hallo rudolf,

danke für diese Erklärung, dies habe ich noch gebraucht.

rudolf schrieb:
Du hast alles richtig verstanden, bis auf eins. Es reicht nicht nur das su binary und die Verwaltungsapp hineinzukopiern, es wird auch ein su deamon eingerichtet umd gestartet.
Ok, meine Beschreibung oben war auch nur kurz und einfach gehalten. Aber das stimmt.


rudolf schrieb:
denn geflasht wird einmal, dannach macht man updates.
Also wird nur einmal eine Version gebraucht, welche mit dem gerade Installiertem ROM/Hardware zurecht kommt, danach ohne Probleme Updatebar.

Dies war auch für mich eine wichtige Frage, welche ich oben nicht gestellt hatte.
Also kann ich davon ausgehen, jedenfalls lese ich dies so raus.
Flashe ich eine Version (bei mir jetzt 2.6.2), mache dann im Anschluss ein Update, damit habe ich schlussendlich genau die selbige Version/Gegebenheit, als wenn ich direkt mir die neusten Version geflasht hätte?

Viele Grüße
 
R

rudolf

Enthusiast
Es gibt einen gewissen Mechanismus, der mit dem zip installiert wird. Dann gibt es moch das binary und die APK. Der Mechanismus wurde wohl bei dem neuesten zip derrart "verbessert", das er bei deinem Gerät nicht mehr funktioniert. Das macht aber nichts solange du eine funktionierende Version hast. Chainfire kann halt nicht bei jeder neuen Version testen ob die auch auf allen "alten" Geräten noch funktioniert.

Lies mal im zip die Datei META-INF/com/google/android/update-binary wenn du sehen möchtest was alles beim rooten passiert :)