Noch etwas detaillierter erklärt:
Jedes Android Phone besitzt einen internen Flashspeicher, ähnlich wie eine SD-Karte (vereinfacht ausgedrückt!), der aber natürlich fest verbaut ist. Der Speicher wird in viele einzelne Partitionen aufgeteilt, je nach Hersteller zwischen 50-90 (ja, es sind so viele). Die
grobe Einteilung ist aber IMMER gleich und sieht wie folgt aus:
- Bootloader
- Recovery
- Boot
- Modem/Telefonfunktion
- Vendorpartition
- System
- Userdaten
Bootloader: Er hat die Funktion, die CPU, RAM und den Kernel (dazu gleich mehr) zu laden, um dein Smartphone zu starten. Das sind bei jedem Gerät die ersten Prozesse. Gleichzeitig beinhaltet er die Benutzeroberfläche "Fastboot" und verifiziert die Partitionen /boot und /recovery.
Hier entscheidet sich auch, ob /boot oder /recovery geladen werden.
Boot: Beinhaltet Kernel, Ramdisk (Rootverzeichnis mit Binaries und init-Scripts für den Bootvorgang) und den Devicetree (u.a. Hardwareschnittstellen des Herstellers). Der Kernel verwaltet alle grundlegenden Prozesse der Hardware und des Betriebssystems.
Recovery: Sollte selbsterklärend sein. ;-) Ist aufgebaut wie /boot, aber nur mit rudimentären Funktionen ausgestattet.
Durch die init-Scripts wird das Betriebsystem geladen. Sie sind eine Abfolge von Befehlen, die nacheinander abgearbeitet werden. Sie können auch weitere init-Scripts laden, die sich z.B. auf /vendor befinden.
Vendor: Damit Android auf dem Gerät ausgeführt werden kann, muss es mit dem Gerät kompatibel gemacht werden. Dazu gibt es die Partition /vendor. Alle Treiber, Schnittstellen und auch die UI sind hier untergebracht.
System: Das ist Googles Android, also das AOSP in seiner aktuellen Form laut android.googlesource.com gemäß Patch Level unter der Anzeige in den Einstellungen.
Modem: Eine eigene kleine Firmware für sich, um die Telefonfunktion nutzen zu können
Nebenbei gibt es noch ein paar kleine Partitionen für z.B. Sicherheitsrelevante Daten (FRP, Displaysperre, IMEI, WLAN), Geräteinfos (utags) oder Logspeicher.
Eine Custom ROM behinhaltet in den meisten Fällen nur /boot, /system und /vendor und fügt sich somit in die Firmware ein. Eine Firmware beinhaltet alles, was oben aufgezählt wurde.