Zusammenhänge: flash - partition - recovery - kernel - root ...?

S

Soulreaver1993

Fortgeschrittenes Mitglied
16
Guten Tag zusammen,
Ich bin durch zufall auf dieses Forum gestoßen und habe mich schon ein wenig eingelesen, da ich aber von handys und Android keine ahnung habe hätte ich ein paar fragen.

Ich besitze das Galaxy S plus (gefällt mir sehr, vorher hatte ich ein Nokia 6230i).

Was bewirkt das rooten genau?

EDIT: Desto detailierter die erklärung ist desto mehr interessiert sie mich, ich hab schon bei der PsP viel über Technik gelernt :).
EDIT2: Mal eine frage drinn gelassen.
 
Zuletzt bearbeitet:
Zum rooten: Mach dir am besten erstmal klar, was der Unterschied zwischen Kernel, Firmware, recovery, Bootloader und root-Rechten ist, bevor du Hand an dein Handy legst. Nachdem, was du schreibst scheinen da einige Unklarheiten zu herrschen. Warum willst du überhaupt rooten?

Ansonsten: eine Frage bzw ein Thema pro Thread bitte ;)
 
  • Danke
Reaktionen: Soulreaver1993
Ohne dich jetzt von Android-Hilfe abschrecken zu wollen würde ich dir gerne empfehlen, dir mal die Forenregeln anzuschauen, besonders den Punkt über mehrere Fragen in einem Thread.

Ansonsten sind einige deiner Fragen sicher im entsprechenden Geräte-Forum besser aufgehoben und andere sollten über die Suche leicht zu finden sein.
 
  • Danke
Reaktionen: Soulreaver1993
Kernel= Das Herz der Firmware (enthält ie grundeinstellung für die Hardware wie was arbeitet)

Firmware= naja die Version des Systems das man installiert hat (für jede firmware gibts nen changelog was es neues/gefixtes gibt)

recovery= Auf der PsP war das ein Menü in dem man die Optionen ohne richtigen Boot des Systems einstellen konnte und noch ein paar kleinigkeiten.

Bootloader= Ich vermute mal die Rom die man drin hat. (das die gestartet wird)

root-Rechten= Die Rechte die man am Pc/Handy gerade hat, am anfang hat man beim handy nur benutzer rechte und da hat man ja beim rooten mehr (das ist mir klar) und man kann dan sachen benutzen die vorher nicht gingen weil andere bereiche des handys praktisch freigeschaltet werden.

Danke für die App tipps, Ard aufm handy... vllt wen mal ne interessante Doku da ist.

Wen nur eine Frage pro Thread dan entscheide ich mich mal für die Frage: Was passiert genau beim rooten, wie wird der andere bereich freigeschaltet und wie siehts da mit brick gefahr aus (das das handy einfach zum briefbeschwerer wird).
 
Beim rooten wird ein su binary (also ein binary der shell mit root Rechten) im System installiert (normal unter Ausnutzung eines Exploits). Typischerweise wird auch eine entsprechende Superuser App installiert, die regelt, welche Apps root Rechte bekommen. Dabei besteht erst mal keine Gefahr eines Bricks. Es eröffnet aber Möglichkeiten, sein Handy zu bricken.
 
  • Danke
Reaktionen: Soulreaver1993
Hallo zusammen,

nach viel Lektüre (und meinem ersten erfolgreichen Gehversuch mit custom ROM und Kernel :cool2:) sind mir einige grundlegende Zusammenhänge immer noch nicht richtig klar :unsure: - ich würd's aber gern verstehen :rolleyes2:! Ich versuche mal meine Fragezeichen zu formulieren, - vielleicht mag mir hier dann jemand auf die Sprünge helfen, oder einen hilfreichen Beitrag verlinken, den ich noch nicht gefunden habe...:

Ich gebe fastboot flash <partition> als argument. D.h. geflashed, also mit einem image überschrieben, wird immer eine ganze Partition? Alles was auf dieser Partition drauf ist wird ersetzt? Für alles, was man gesondert flashen will, braucht man auch eine gesonderte Partition?

Was für Partitionen gibt es denn eigentlich im einzelnen?

Was genau liegt auf der boot-Partition?
Der Kernel, ok.
Zusätzlich (der/die?)das recovery?
Was ist überhaupt das recovery (im custom-Falle zB CWM): eine Art Mini-Betriebssystem, oder? Also was "das ROM" in Groß ist, sozusagen. Sowas wie ein Windows PE oder ein Knoppix (nur noch viel schlanker). Oder?
D.h. dann aber doch, das recovery setzt auf den Kernel auf, richtig?
Bei mir war die aber "im Kernel enthalten", quasi mit im Paket, und also nach dem magischen "fastboot flash boot boot.img" war sie drauf. Heißt dass, wenn man die boot partition flashed dann hat man immer die recovery mit überschrieben? Oder ist die recovery ohnehin "im" kernel "drin"? Aber man kann doch auch die recovery austauschen, und den Kernel sonst lassen, oder? :confused2:

Und noch was in der Richtung: wie ist das mit den berüchtigten WiFi Modulen? Wo liegen die denn? Ich brauchte die zB nicht extra zu flashen, - weil ich einen stock based Kernel genommen habe, wo die schon drin sind, eingebaut sozusagen? Und wenn sie nicht eingebaut sind, - dann werden sie aber doch extra geflashed, oder? D.h. dann haben sie auch eine eigene partition? Oder ist meine erste Annahme doch falsch, und das flashen auf einem Androiden ist so intelligent, dass es auch nur einen Teil einer Partition ersetzen kann? :confused2:

Und dann die root Rechte. Die waren bei mir auch "im Kernel inklusive". Ist es, letztlich, immer der kernel, der root Rechte einräumt oder eben nicht? D.h. wenn man ein System mit stock kernel und stock rom rootet, dann manipuliert man am kernel rum? Oder wo dran "hängen" die root Rechte? :confused2:

...ok, jetzt hab' ich mir mal die Wichtigsten Fragen von der Seele geschrieben, und harre der Dinge...

Bin dankbar für jeden Hinweis :)
...von einem, der es wissen will...
 
Das ist ein recht komplexes Thema, das du da ansprichst... :)

Ich bin kein Android-Experte, aber mein Wissen (das keinerlei Anspruch auf Vollständigkeit und auch Richtigkeit erhebt), teile ich gerne mit dir:

Die wichtigsten Partitionen bei Android sind:
/system: Hier residiert das Betriebssystem
/recovery: Wie der Name schon sagt, ist dies der Platz für das Wiederherstellungs-System
/data: Platz für User-Daten, Apps und deren Einstellungen
/cache: Zwischenspeicher für Apps und das System
/boot: Der Bereich zum Starten des Systems - hier wird m.W. auch ein Custom Kernel installiert
/misc: für grundlegene System-Einstellungen

Die Recovery liegt also in einer eigenen Partition und ist im Prinzip ein Mini-Betriebssystem, vor allem für Wiederherstellungs-Zwecke oder auch für einen Wipe (d.h. das Zurücksetzen auf Werkseinstellungen); eine Custom Recovery wie CWM oder TWRP erlaubt weitergehende Funktionen wie Backup/Restore, gezieltes Wipen z.B. von Cache und Dalvik-Cache, das Installieren (Flashen) von Custom ROMs etc.

Die angesprochenen WiFi-Module bzw. alles, was mit Datenübertragung zu tun hat (z.B. auch Mobilfunk, GPS etc.) sind im sog. "Radio" (oder auch "Baseband") enthalten, das normalerweise als separates Image unabhängig vom Bootloader, Kernel und OS geflasht werden kann, da es eigentlich nur ein Modul oder Programm ist; auf welcher Partition dieses "residiert", weiß ich leider nicht.

Root besteht eigentlich nur aus zwei Dateien: "su" (die sog. Binary) liegt unter /system/bin, und die Verwaltungs-App (SuperSU.apk oder Superuser.apk) unter /system/app. Um aber auf die /system-Partition schreibend zugreifen zu können, benötigt man eine Sicherheitslücke (einen "Exploit"), und mit Hilfe einer solchen Lücke (die für Geräte und auch OS-Versionen unterschiedlich ist) werden die genannten Dateien dann an "ihren" Platz kopiert. Die SuperSU- oder Superuser-App ist quasi die Schnittstelle zwischen Root und den Apps, d.h. sie nimmt die Anfragen von Apps, die gerne Root-Rechte hätten, entgegen und leitet sie ggf. (falls man zustimmt) an die su-binary weiter.

Bei vielen Geräten ist es für diese Manipulation notwendig, den Bootloader zu öffnen, was nicht selten mit einem Komplettverlust aller gespeicherten Daten einhergeht; auch dies ist aber von Device zu Device unterschiedlich, man kommt also nicht umhin, sich im Forum für das entsprechende Device gezielt zu informieren.

Für weiterführende Infos gibt es hier im Root-Forum aber viele interessante und auch weitergehende Informationen, und auch unser Droid-Wiki hilft da weiter.

Ich hoffe, ich konnte dir weiterhelfen - und habe nicht zu viel Unsinn verzapt... ;)
 
Zuletzt bearbeitet:
  • Danke
Reaktionen: lindenlauf und Patman75
lindenlauf schrieb:
Ich gebe fastboot flash <partition> als argument. D.h. geflashed, also mit einem image überschrieben, wird immer eine ganze Partition? Alles was auf dieser Partition drauf ist wird ersetzt? Für alles, was man gesondert flashen will, braucht man auch eine gesonderte Partition?
Stimmt
lindenlauf schrieb:
Was für Partitionen gibt es denn eigentlich im einzelnen?
http://www.droidwiki.de/Partitionen
lindenlauf schrieb:
Zusätzlich (der/die?)das recovery?
Das Recovery
lindenlauf schrieb:
Was ist überhaupt das recovery (im custom-Falle zB CWM): eine Art Mini-Betriebssystem, oder? Also was "das ROM" in Groß ist, sozusagen. Sowas wie ein Windows PE oder ein Knoppix (nur noch viel schlanker). Oder?
Es ist ein Mini-Betriebsystem das zur Rettung gedacht ist: Geht das System nicht mehr hilft das Recovery.
lindenlauf schrieb:
D.h. dann aber doch, das recovery setzt auf den Kernel auf, richtig?
Nein, dabei handelt es sich um zwei verschiedene Partitionen. Siehe dazu auch => http://www.droidwiki.de/Partitionen
lindenlauf schrieb:
D.h. dann aber doch, das recovery setzt auf den Kernel auf, richtig?
Bei mir war die aber "im Kernel enthalten", quasi mit im Paket, und also nach dem magischen "fastboot flash boot boot.img" war sie drauf. Heißt dass, wenn man die boot partition flashed dann hat man immer die recovery mit überschrieben? Oder ist die recovery ohnehin "im" kernel "drin"? Aber man kann doch auch die recovery austauschen, und den Kernel sonst lassen, oder?
Es gibt Kernel mit und Kernel ohne Recovery, ein Recovery kannst du aber auch einzeln "installieren"
lindenlauf schrieb:
nd noch was in der Richtung: wie ist das mit den berüchtigten WiFi Modulen? Wo liegen die denn? Ich brauchte die zB nicht extra zu flashen, - weil ich einen stock based Kernel genommen habe, wo die schon drin sind, eingebaut sozusagen?
Die WiFi Module sind zusätzliche Daten die gebraucht werden damit das WLAN bei CyanongenMod ROM's funktioniert. Wieso? Keine Ahnung!
lindenlauf schrieb:
Und wenn sie nicht eingebaut sind, - dann werden sie aber doch extra geflashed, oder?
Ja
lindenlauf schrieb:
D.h. dann haben sie auch eine eigene partition?
Nein, denn es gibt zwei Sachen zu unterscheinde:
Fastboot, wo man eine Partition flasht und
das Recovery, wo du nur einzelne Daten innerhalb einer Partition hineinkopierst und evtl auch ersetzest. Deswegen ist bei einer Installation einer ROM durch das Reocvery auch wichtig, ein Full Wipe zu machen. Dabei wird die gesamte Partition leergefegt.
lindenlauf schrieb:
Oder ist meine erste Annahme doch falsch, und das flashen auf einem Androiden ist so intelligent, dass es auch nur einen Teil einer Partition ersetzen kann?


Zum Thema Root:
@Lion13 Sagt alles richtig. Durch das Öffnen des Bootloaders kannst du ja auch nicht vom Hersteller vorgesehne ROM's starten. Damit kannst du auch die su nach /system/bin kopieren. Das Erlangen der Root-Rechte ist also nichts anderes als ein Kopiervorgang... :D

@Lion13:
Ich hab alles bis auf das vom Root von dir nicht durchgelesen, Überschneidungen bei dennen du das gleiche schreibst wie ich können vorkommen.
 
Zuletzt bearbeitet von einem Moderator:
  • Danke
Reaktionen: lindenlauf
patrick37 schrieb:

Darüber könnte man vortrefflich streiten - in den meisten Fällen wird aber "die" Recovery verwendet. ;)

Es gibt Kernel mit und Kernel ohne Recovery, ein Recovery kannst du aber auch einzeln "installieren"


Ist das eine Spezialität von bzw. für bestimmte Geräten? Diejenigen, die ich kenne (HTC Legend, HTC Desire HD, Galaxy Nexus, Nexus 4), hatten immer Kernel und Recovery getrennt, zumal diese ja auch auf unterschiedlichen Partitionen "landen".

Die WiFi Module sind zusätzliche Daten die gebraucht werden damit das WLAN bei CyanongenMod ROM's funktioniert.


Bist du sicher, daß du nicht auch das üblicherweise "Radio" oder "Baseband" meinst? Separate WLAN-Module kenne ich persönlich jetzt nicht, vielleicht sind sie aber auch nur bei bestimmten Devices nötig. :)
 
@Lion13:
Ich kann in allen Belangen nur für Sony sprechen.

Und wir haben bei uns Kernel mit Recovery, unser Baseband muss mit der Firmware geflahst werden (man kann sie zwar auch einzeln flashen, brauch dazu aber ebenfalls die Firmware-Datei und diese Methode mag ich nicht so gerne) und WLAN Module gabe es bei uns bei den CM.

Verrückt wie sich das ein und desselbe System von Hersteller zu Hersteller unterscheidet.
 
Erst mal: Danke für Eure Erklärungen!
So langsam wird's heller :)

patrick37 schrieb:
Verrückt wie sich das ein und desselbe System von Hersteller zu Hersteller unterscheidet.

Das macht die Sache nicht eben übersichtlicher... Da alles Android/Linux Systeme sind sollten sich ein paar grundlegende Gemeinsamkeiten aber doch herausarbeiten lassen ;)

Bei Sony ist es jedenfalls so, dass es Kernel gibt, die root und CWM mitbringen. Kernel flashen -> root und CWM haben. Da das Flashen aber nur die /boot-Partition überschreibt, root aber die Dateien auf der /system-Partition braucht, und CWM auf /recovery residiert, vermute ich einfach mal ins Blaue hinein, dass ein solcher custom kernel so programmiert ist, dass er die benötigten Dateien sozusagen "Huckepack" mitbringt und nach dem Flashen beim ersten Hochfahren an ihre Bestimmungsorte verschiebt. Aber das ist eine reine Spekulation ins Blaue hinein... Ich poste die Frage mal auf xda-developers, das will ich dann jetzt doch genauer wissen (*neugier*).

Mit "recovery setzt auf kernel auf" meinte ich, dass die recovery sozusagen die nächste Schicht nach dem Kernel ist, dass erst ein kernel geladen werden muss, bevor eine recovery laufen kann, - genauso wie es erst den kernel braucht, bevor das ROM laufen kann. Stimmt doch, oder?
Da beide (kernel / recovery) auf verschiedenen Partitionen wohnen kann man sie auch getrennt voneinander austauschen, aber eine recovery booten ohne einen kernel drauf zu haben geht nicht. Oder?

Ich bohre einfach so pingelig, weil ich chronisch neugierig bin, und weil ich die Erfahrung gemacht habe, dass ich einen ganz anderen Level von Umgang mit (was auch immer) erreiche, wenn ich (zumindest bis zu einem gewissen, nicht zu oberflächlichen Grad) verstanden habe, was hinter den Kulissen (von was auch immer) abläuft :)
 
patrick37 schrieb:
Verrückt wie sich das ein und desselbe System von Hersteller zu Hersteller unterscheidet.

Merci - und wieder was gelernt. :)
Das wußte ich echt nicht, aber es ist immer wieder gut, auch mal über den (eigenen) Tellerrand zu schauen.

lindenlauf schrieb:
Da beide (kernel / recovery) auf verschiedenen Partitionen wohnen kann man sie auch getrennt voneinander austauschen, aber eine recovery booten ohne einen kernel drauf zu haben geht nicht. Oder?

Doch, das geht problemlos! Da die Recovery wie gesagt ja selbst ein Mini-Betriebssystem ist, kann man sie auch starten, wenn kein OS inkl. Kernel mehr vorhanden ist. Sonst könnte man ja keine Custom ROM installieren: Man macht in der Recovery einen Fullwipe (also Formatieren von /system, /data und /cache), dann ist das Gerät quasi "leer"; dann flasht man eine Custom ROM, die selbst immer einen Kernel mitbringt - oder alternativ einen separaten Custom Kernel hinterher, wenn man sich für eben diesen speziellen Kernel entschieden hat.

Der Kernel ist ja im Prinzip der Kern, d.h. der wichtigste Bestandteile eines Betriebssystems - er verbindet quasi die Hardware mit der Software (denn nur er hat direkten Zugriff darauf) und regelt alle Prozesse, den Datenaustausch zwischen Hard- und Software usw.

Ich habe mal irgendwo eine recht interessante Erklärung gelesen: Wenn du dir ein Gerät als Haus vorstellst, ist im Erdgeschoß die Hardware, im 1. Stock der Kernel und darüber das OS (ROM) sowie die weitere Software.

Hier findest du einen interessanten und sehr lesenswerten Artikel von Heise.de zum Thema Android-Architektur: http://www.heise.de/ct/artikel/Innenansichten-eines-Smartphone-Betriebssystems-1901647.html
 
Zuletzt bearbeitet:
Da überfragst du mich :D

Ich weiss nicht viel mehr als was ich geschrieben habe.
Da musst du die Profis auf XDA fragen.
 
Hi,
ich finde das Thema superwichtig und toll dargestellt; gerade für Neulinge im Root- und Flashbereich;
sollte man das nicht anpinnen?
MfG

Gesendet von meinem AOSP on Mako mit der Android-Hilfe.de App
 
Ist aus meiner Sicht zu wenig übersichtlich.
 
Also, die Sache mit dem Kernel ist eigentlich recht trivial. Es wird eigentlich immer ein Kernel benötigt (*).

Zu einem Kernel gehört auch ein Root-Filesystem, in dem das init-Binary und das init-Script liegt. Meist wird dieses als RamDisk zusammen mit dem Kernel in ein Boot-Image gepackt. (Geht aber auch anders, auf dem Linux-PC ist das Root Filesystem eine Partition einer Festplatte. Kommt einfach darauf an, was der Bootloader macht.)

Das Boot-Image kann aber an verschiedenen Stellen liegen und es können auch verschiedene Boot-Images auf einem System vorhanden sein.

In klassischen System gibt es zwei Stellen, an den ein Boot-Image vorhanden ist: In der Boot-Partition und in der Recovery-Partition. Jenachdem welche Partition vom Bootloader gestartet wird, wird deren Kernel gebootet und die zugehörige Ramdisk entpackt und das init Binary darin gestartet. Dies kann dann entweder das System starten oder das Recovery.

Damit kann man auch tricksen, und das Recovery mit in den Haupt-Boot-Image packen, dann hat man den Platz für das Recovery-Image noch frei, um dort einen alternativen Kernel für ein alternatives Betriebssystem hinzupacken.

Es ist auch möglich, dass der Hersteller nur eine Boot-Partition vorsieht, oder dass er das Recovery mit in den 'Lade-Kernel' packt.

Insofern sind allgemeingültige Aussagen, so oder so ist es, sehr schwer, dafür müsste man wissen, was JEDER Hersteller so gebaut hat.

(*) Das kann auch ein sehr minimalistischer Kernel, z.B. ein Lade-Kernel, der nur das Akkuladen unterstützt, sein.

MfG Uwe

Der ursprüngliche Beitrag von 17:40 Uhr wurde um 17:46 Uhr ergänzt:

Da das ganze sehr stark vom Gerät abhängt, habe ich bisher nie was zu diesem Thema im allgemeinen Bereich geschrieben.

Speziell für das Gerät Acer A210/A211, das sehr klassisch aufgebaut ist, habe ich mal diesen Beitrag geschrieben:

https://www.android-hilfe.de/forum/...lashen-von-custom-roms-und-kernel.436703.html

MfG Uwe
 
  • Danke
Reaktionen: lindenlauf, Patman75 und Lion13
u.k-f schrieb:
Damit kann man auch tricksen, und das Recovery mit in den Haupt-Boot-Image packen, dann hat man den Platz für das Recovery-Image noch frei, um dort einen alternativen Kernel für ein alternatives Betriebssystem hinzupacken.
So funktionieren also der Dual Boot Kernel?
 
Zuletzt bearbeitet von einem Moderator:

Ähnliche Themen

B
  • Blooddrunked
Antworten
3
Aufrufe
612
textmarker007
T
K
Antworten
23
Aufrufe
929
Klaus986
K
hucky58
Antworten
3
Aufrufe
602
KalleMerkt
K
Zurück
Oben Unten