ROM

Als ROM (engl. Read Only Memory) wird bei Smartphones die Firmware bezeichnet. Das in einem Smartphone üblicherweise vorinstallierte ROM wird Stock-ROM genannt, ein vom Benutzer installiertes als Custom-ROM.

Stock-ROM[Bearbeiten]

Das Stock-ROM ist die offizielle Firmware, welche vom Hersteller ab Werk vorinstalliert wird. Es besteht aus dem Android-Betriebssystem und beeinhaltet Modifizierungen und Erweiterungen (z. B. HTC-Sense, Samsung-TouchWiz) der Gerätehersteller.

Custom-ROM[Bearbeiten]

Man unterscheidet bei Custom-ROMs zwischen solchen, die nur eine modifizierte Version des Stock-ROMs sind, und denen, die auf den Android-Quellcode aufbauen. Ein Custom-ROM ist eine inoffizielle Firmware und wird nicht oder nur sehr selten von Geräteherstellern unterstützt.

Allgemein[Bearbeiten]

Ein Custom-ROM kommt meist von nicht-kommerziellen Entwicklern und kann aus verschiedenen Gründen entwickelt werden. Zum Beispiel sind die Benutzer mit dem Stock-ROM im Funktionsumfang oder der Leistung bzw. der Akkulaufzeit nicht zufrieden. Ist die Nachfrage vorhanden und gibt es interessierte Entwickler, entstehen meist verschiedenste Versionen von Custom-ROMs, die wahlweise auf dem Stock-ROM vom Hersteller basieren, auf andere Custom-ROMs aufbauen oder aus dem Android-Quellcode neu erstellt wurden.

Es geht dem Entwickler nicht immer um den Funktionsumfang oder die Optimierung des Systems. Oft wird durch den Entwickler oder das Team auch das Erscheinungsbild der Bedienoberfläche verändert, beispielsweise der Launcher oder der Lockscreen. In einigen Projekten werden auch die vorinstallierten Apps erweitert, sodass zum Beispiel Backup-Tools, Taskmanager oder ähnliches, die man normalerweise erst über den Google Play Store manuell nachinstallieren müsste, bereits ab der Installation vorhanden sind. Dies kann, je nach Benutzer, hilfreich sein oder als störend empfunden werden.

Auch ist es möglich, bestimmte, im Stock-ROM als System-Apps deklarierte Apps zu User-Apps zu wandeln. Dadurch wird es für den Benutzer einfacher, diese Apps zu deinstallieren.

Üblich ist es zudem, dass in Custom-ROMs der Root-Zugriff bereits vorhanden ist.

AOSP-ROM[Bearbeiten]

Ein AOSP (Android Open Source Project)-ROM basiert auf dem reinen Android-Sourcecode, wie Google ihn bereitstellt. Das heißt, es sind weder geschlossene (Closed Source), Hersteller-eigene oder Bedienoberflächen-spezifische Besonderheiten, noch proprietäre Google-Apps (wie z. B. Maps, Latitude, Play-Store) vorhanden.[1] Letztere werden jedoch meist durch einen Update-Trick automatisch und legal nachinstalliert.[2]

Entwicklergruppen[Bearbeiten]

Neben den Herstellern, die die Stock ROM entwickeln, gibt es, wie bereits erwähnt, auch ROM's aus der Usergemeinschaft, der sogenannten Community. Diese ROM's basieren dabei auf verschiedenen Basen, daher haben sich einige Entwicklerlevel bzw. Entwicklergruppen gebilde, die verschiedene Vorgehensweisen bei der Entwicklung einer ROM verfolgen und anwenden[3].

ROM-"Köche"[Bearbeiten]

ROM-Köche arbeiten auf bestehenden ROMs und verbessern deren Performance durch Tweaks in build.prop, init.d usw. Ausserdem entfernen sie ggf. die Bloatware. Sie arbeiten mit Tools die man bspw. ROM-Kitchen nennt. Dies erfordert Kenntnisse darüber, welche Einstellungen was bewirken, sysctl[4] und andere Tuning-Ansatz-Stellen.

ROM-Portierer[Bearbeiten]

Sie portieren ROMs wie CyanogenMod oder AOKP/AOSP-basierte auf Geräte, für die es dieses ROM bisher nicht gab. Hierbei erstellen sie einen Device-Tree für dieses Gerät und das ROM aus dem Quellcode (Sourcen) kompilieren. Dies erfordert Kenntnisse über die Hardware, Entwicklung und den Build-Prozess des ROMs.

ROM-Entwickler[Bearbeiten]

User in dieser Stufe entwickeln an ROMs wie CyanogenMod oder AOKP/AOSP-basierte, indem sie neue Features in das ROM einbauen, verändern doer entfernen. Anschließend wird die ROM aus dem Quellcode kompiliert. Dies erfordert Kenntnisse über die Entwicklung, Android, den Build-Prozess des ROM's, sowie der Aufbau eines ROM's.

Kernel-Entwickler[Bearbeiten]

Kernel-Entwickler arbeiten an dem Kernel, und kompilieren diesen aus dem Quellcode. Zusätzlich können Änderungen an der RAM-Disk durchgeführt werden. Das erfordert Kenntnisse über Entwicklung, Android und Kernel-Architektur.

Einzelnachweise[Bearbeiten]

  1. http://source.android.com/faqs.html#how-can-i-get-access-to-the-google-apps-for-android-such-as-maps, Quelle keine Google Apps auf AOSP-ROMS
  2. Artikel CyanogenMod auf Wikipedia
  3. http://www.android-hilfe.de
  4. Ein Interface zum Ändern einer Kernel-Einstellung während des Betriebs.