Übersicht des Android-Systems (IPL, SPL, Boot, Recovery...) [Last Update: 09.08.2009]

  • Übersicht des Android Systems


    Dies ist eine einfache Übersicht, die das Initialisieren des Systems auf dem T-Mobile G1 / HTC Hero beschreibt.


    [attachment=26]


    IPL


    Der IPL ist am ehesten mit dem Master-Boot-Record auf dem PC zu vergleichen. Er kennt den internen Speicher des G1 und weiss wo er den SPL finden und wie er ihn ausführen kann.



    SPL (Secondary Program Loader)


    Der SPL ist am ehesten mit einem Bootmanager wie z.B. dem Grub oder dem Lilo vergleichbar. Im Gegensatz zu diesen einfachen Bootmanagern, die nur in der Lage sind Partitionen zu finden und einen Kernel zu starten, kann der SPL aber wesentlich mehr. Zum einen erlaubt er es ganze System-Images einzuspielen und zum anderen hat er bereits Zugriff auf das USB System und bietet Programmieren somit die Möglichkeit das Android-Handy mittels fastboot direkt vom PC aus zu flashen. Anhand von entsprechenden Tastenkombinationen kann der Benutzer auch den Boot-Prozess beeinflussen. So ist es möglich bei Bedarf das Recovery System zu starten indem man beim Einschalten die Home-Taste gedrückt hält. Das SPL-Menü selbst erreicht man, indem man während dem Einschalten den Kamera-Knopf gedrückt hält.


    Beim flashen des SPL ist besondere Vorsicht geboten. Wie man an der Grafik erkennen kann, ist der SPL eine der ersten Instanzen die für den Boot-Prozess benötigt werden. Geht beim flashen des SPL irgendetwas schief, kann man das G1 nicht mehr retten und somit nur noch als Briefbeschwerer verwenden. Der SPL sollte deshalb nur geflasht werden, wenn es absolut nötig ist! Generell benötigt ein SPL eigentlich keine Updates.


    Den SPL gibt es mittlerweile in mehreren Ausführungen:

    • Standard SPL
    • Developer SPL
    • HardSPL
    • Haykuro SPL


    Der Standard SPL ist auf allen Consumer G1 installiert und bietet nahezu keinerlei Möglichkeiten das System zu verändern. Es ist allerdings möglich Betriebssystem Images einzuspielen, wenn der SPL eine Goldcard Speicherkarte entdeckt. Eine Goldcard ist eine spezielle präparierte SD-Karte, bei der die Seriennummer des Datenträgers mit einem speziellen Algorithmus codiert und in den Bootrecord geschrieben wird. Befindet sich eine solche Speicherkarte im G1, wird das Einspielen von signierten Images freigeschaltet.


    Der Developer SPL ist auf allen Entwickler-G1 vorinstalliert. Er erlaubt das flashen von Images über die USB Schnittstelle (mittels fastboot) und auch das Einspielen von beliebigen Images ohne Goldcard.


    Der HardSPL ist eine modifizierte Version des Developer-SPL und bietet zusätzlich die Möglichkeit Backups des Systems auf Datenträgerebene anzulegen. Es werden also einfach Disk Dumps der Betriebssystempartitionen auf die Speicherkarte geschrieben.


    Der Haykuro SPL ist wiederum eine modifizierte Version des HardSPL. Er verändert die Partitionierung des G1, so dass mehr Speicher für das System-Image zur Verfügung steht. Dies wird durch das Verkleinern der Cache-Partition erreicht. Der Haykuro SPL wird benötigt, wenn man eines der Hero-Roms verwenden möchte.



    Recovery


    Das Recovery System wird gestartet, wenn während dem Einschalten die Home-Taste gedrückt wird. Es handelt sich hierbei um ein minimales Linux-System, welches es dem Benutzer erlaubt das Handy in den Werkszustand zu versetzen (Wipe) oder aber neue Updates einspielen. Updates können nur eingespielt werden, wenn sie vom Hersteller signiert wurden. Möchte man Community-Roms verwenden, muss das Recovery-Image durch eine Version ausgetauscht werden, welche auch Images flashen kann, die mit Test-Keys signiert wurden.



    Boot


    Das Boot-Image enthält den Kernel und das initrd Image. Es wird vom SPL standardmäßig gestartet und enthält alle nötigen Treiber um die Plattform zu initialisieren. Sobald der Kernel gebootet hat und das initrd Image ausgeführt wurde, wird die Kontrolle an das System übergeben.



    System


    Das Android-System selbst, besteht aus der Dalvik Java Virtual Machine, allen Basis-Applikationen und allen Diensten, die z.B. für WLAN, Bluetooth, usw benötigt werden. Das System selbst ist read-only gemountet, so dass bei einem Wipe nur sämtliche Userdaten gelöscht werden müssen. Diese Userdaten befinden sich auf einer gesonderten Partition, die auf dem Bild oben nicht extra angegeben wurde.

  • Das Radio-Image ist in der obigen Auflistung nicht dabei, da es mit dem Android-System primär eigentlich nichts zu tun hat. Das Radio-Image ist die Firmware für WLAN, GSM, ... Wenn man so will also das Bios für das ganze Funk-Zeuchs.


    Warum manche SPLs bestimmte Radio-Versionen benötigen ist unklar. Vermutlich führt der SPL eine Basis-Hardwareerkennung durch (da er ja zumindest USB initialisieren muss) und hängt sich dann beim GSM Stack auf, wenn er nicht die richtigen Antworten bekommt, aufgrund einer falschen Radio Version.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!