[AOSP/AOKP] Frage zu Sources, cyanogenmod, Samsung stocks etc

  • 5 Antworten
  • Letztes Antwortdatum
T

Telvozzzar

Neues Mitglied
1
Hallo ihr da draußen,

Mich beschäftigen einige Sachen seit ich gelesen habe, dass einer der Devs des S3 aufgegeben hat, nachdem sich samsung unkooperativ der custom community gegenüber zeigte. (fehlende Sources etc.) trotzdem ich jetzt im 3. Semester informatik studiere fehlt mir leider das tiefe Verständnis der struktur hinter android. (hier wäre ich sehr dankbar, wenn jemand eine gut Anlaufstelle hätte)
Haben Costum roms, die auf einer stock rom basieren, besagte Sources inklusive? Was genau sind diese Sources? Was heißt eine rom basiert auf stock oder auf asop genau? Wir läuft es grundsätzlich ab eine eigene rom zu basteln? Wäre es prinzipiell möglich eine stock rom (gegeben sei die Tatsache, dass sie besagte fehlende Sources beinhaltet) soweit zu "entschlacken" dass eine cyanogenmod ähnliche rom entsteht?

Steinigt mich nicht, wenn diese fragen zu noobig sind. Ich habe mir seit ich vor etwas 2-3jahren angefangen habe meine damals noch s1 zu flashen ein solides Grundwissen angeeignet. Allerdings würde ich gerne noch mehr verstehen und vllt mich selbst mal an der ein oder andern kleinen rom versuchen.

Liebe grüße euer telvozzzar :))

Gesendet von meinem GT-I9300 mit der Android-Hilfe.de App
 
Da es nicht Galaxy S3 spezifisch ist, habe ich es mal verschoben. ;)
 
Ich habe Deine Frage aus dem allg. Android-Forum ins mbMn passendere Forum verschoben.

Schau Dich hier ruhig auch mal um (z.B. hier).
 
Nein, ich verschiebe den Thread nicht weiter, sondern versuche mich an einer Antwort. Meine Antwort erhebt keinen Anspruch auf Vollständigkeit und Richtigkeit, man möge mich, da wo ich falsch liege, verbessern.

fehlt mir leider das tiefe Verständnis der struktur hinter android. (hier wäre ich sehr dankbar, wenn jemand eine gut Anlaufstelle hätte)
Ich versuche es mal vereinfacht: Man kann eine Android ROM im Grunde in 4 Elemente einteilen

  1. der Linux Kernel (Herzstück)
    Den Linux Kernel muss ich hoffentlich einem Informatikstudenten nicht erklären. Dieser steht unter der GPLv2 und muss von allen Herstellern in Quellcode veröffentlicht werden. Es kann vorkommen das Kernelmodule, wie z.B: für WiFi, nicht also OpenSource vorliegen/veröffentlicht werden, sollte jedoch bei den etablierten Herstellern nicht vorkommen. Sollte das der Fall sein macht es Änderungen am Kernel schwierig, da man dann nicht mehr ohne weiteres die vorkompilierten/ClosedSource Module nutzen kann.

  2. AOSP (Android Open Source Project)
    AOSP wird der Quellcode von Android bezeichnet. Google und weitere Unternehmen haben sich zur Open Handset Alliance zusammengeschlossen, entwickeln und wachen über den Android Code. Im Gegensatz zum Linux Kernel steht AOSP nicht unter der GPL sondern unter der Apache Software License 2.0, dieser beinhaltet keinen Copyleft und ermöglicht Herstellern Änderungen am Quellcode vorzunehmen ohne dies Veröffentlichen zu müssen.

  3. proprietäre Elemente (meist und vor allem Userspace Treiber)
    Nun braucht ein Betriebssystem ein bisschen mehr als nur den AOSP Code und den Kernel zum Funktionieren, das sind meist jene Bibliotheken/Userspace Treiber, die die Kommunikation zwischen dem OS/Software und dem Kernel/Hardware regeln. Bei Android Geräten sind das z.B. die Grafiktreiber. Was hier als Quellcode veröffentlicht wird und was nicht, bestimmt nicht der Smartphone Hersteller sondern die Hersteller der einzelnen Hardwareteile, also Hersteller des Boards(SoC), der WLAN/UMTS Module usw. Das ist bei den Nexus Geräten genauso wie bei allen anderen, kein Androidgerät ist komplett mit allen Sourcen verfügbar. Bei den Nexus Geräten hat man jedoch den Vorteil, das sie vorkompiliert auf https://developers.google.com/android/nexus/drivers zum Download bereit stehen. Bei anderen Geräten muss man sie sich aus dem Gerät kopieren, findet sie meist durch Kenntnis über den Aufbau des OS, Erfahrung, Trail and Error und natürlich durch die Source Veröffentlichungen der Hersteller. Oft sind auch andere Geräte mit dem selben SoC hilfreich, wenn andere sich schon die Mühe gemacht haben herauszufinden, was auf ihnen proprietär und notwendig ist, kann man sich da was abschauen.
    Bei den Android ARM Geräten gibt es unter den SoC Herstellern 4 Big Player, das sind Texas Instruments (OMAP), Qualcomm (Snapdragon), Nvidia (Tegra), Samsung (Exynos). Manche Hersteller wie Texas Instruments (omapzoom.org Git) und Qualcomm (https://www.codeaurora.org/) unterhalten eigene Repos für Quellcode, die für ihre Boards sinnvoll/notwendig sind. Auch wenn da nicht immer alles aktuell, machen sogar Augenwischerei ist, sind sie doch hilfreich um eine AOSP ROM zu erstellen. Samsung hat zwar auch etwas in der Art, Insignal Co.,Ltd, soll aber wohl im Vergleich zu den anderen unterirdisch sein.

  4. Herstellermodifizierungen/-zusätze
    Darunter fallen alle Abweichungen der Hersteller, die nicht zu AOSP gehören und nicht notwendig für das Funktionieren von Android sind, jedoch gemacht werden um das System den eigenen Vorstellungen anzupassen, also z.B. TouchWiz, Sense, aber auch Einbindung von zusätzlicher Hardware, wie z.B. SPen, die Samsung Docks bei den Tablets...

Für eine AOSP ROM braucht man nur die ersten drei, jedoch hat man bei den Samsung Geräten das große Problem, dass sie nicht nur das Smartphone herstellen sondern auch gleich den SoC und auch weitere Hardwareelemente, was dazu führt das eine Trennung von Herstellermodifikationen und proprietären Treibern nicht so einfach, vielleicht sogar nicht immer möglich ist. Um das genau einzuschätzen kenne ich mich zu wenig mit Samsung Geräten aus. Das weitere Problem ist, das andere Hersteller nicht(kaum?) den Exynos SoC nutzen, man kann also nicht bei Geräten andere Hersteller abgucken, was für das eigene Gerät notwendig ist oder mal so einfach in deren Sourcen herumstöbern, in der Hoffnung was für das eigene Gerät zu finden.

Haben Costum roms, die auf einer stock rom basieren, besagte Sources inklusive?
Nein, Sourcen liegen auf keinem Gerät, Source = Quellcode, diese braucht man um eine komplett eigene ROM auf Basis von AOSP zu erstellen. Es gibt jedoch auch andere Wege eine ROM zu erstellen, dafür wird der Quellcode nicht neukompiliert sondern die Hersteller ROM verändert. Kannst du vergleichen mit einem neugekaufen PC mit Windows 7/8 vorinstalliert. Da drauf ist erst mal sehr viel Bloatware installiert. Wenn du nun zu faul bist es neu aufzusetzen oder manches sogar gut findest, setzt du dich halt hin und deinstallierst die ganze Software, die du weder brauchst noch willst, optimierst noch ein bisschen das System, in dem du sinnlose Autostarteinträge entfernst, suchst dir noch ein schönes Theme und Wallpaper... Das kann man bei Android auch machen, dabei sogar viel weiter als auf dem PC gehen und man muss es nicht direkt auf den Phone machen sondern kann es auch offline(also mit einem Abbild des System, das im Moment der Veränderung nicht gebootet ist) auf dem PC machen und dann das Ergebnis mit anderen teilen. Diese Custom ROMs sind also nur ein Ableger der original ROM, dabei werden, wenn überhaupt nur einzelne Bestandteile, die allgemein Verfügbar sind, neukompiliert und dem System hinzugefügt, herstellerspezifische Elemente werden dabei größtenteils unangetastet gelassen.

Was genau sind diese Sources?
siehe Oben, Quellcode. Bei Samsung findest du sie auf Samsung Open Source Release Center Enthalten meist den veränderten Linux Kernel und alles was unter der GPL steht und vom Hersteller für sein Gerät genutzt/verändert wurde.

Was heißt eine rom basiert auf stock oder auf asop genau?
auch siehe Oben.
basierend auf Stock ROM = überwiegen vorkompiliert vom Hersteller. Hersteller ROM wird eigenen Vorstellungen angepasst. Beinhalten meist auch die Herstellermodifikationen.
AOSP ROM = basiert auf dem Andoird Open Source Project. Überwiegend neukompiliert, nur die notwendigsten proprietären Treiber wurden übernommen. Ohne Herstellermodifikationen.

Wir läuft es grundsätzlich ab eine eigene rom zu basteln? Wäre es prinzipiell möglich eine stock rom (gegeben sei die Tatsache, dass sie besagte fehlende Sources beinhaltet) soweit zu "entschlacken" dass eine cyanogenmod ähnliche rom entsteht?
Eigentlich auch schon beantwortet, zusammengefasst: Ja, mit viel Aufwand. Umso mehr Herstellerveränderungen vorhanden sind desto schwieriger. Das wesentliche Problem ist, die notwendigen proprietären Treiber zu finden. Diese sind, wie erwähnt, auf jedem Android Gerät inkl. der Nexuse vorhanden. Umso komplexer die Stock ROM ist desto schwerer sind sie zu finden. Hinzukommt das Problem mit der Lizenz, Weitergabe solcher ROMs bewegen in einer Grauzone.
Wenn es heißt, das ein Hersteller die Sourcen freigegeben hat, bedeutet es meist sie haben den Kernel Sourcecode und die weiteren unter der GPL stehenden Elemente, veröffentlicht und manchmal auch den Teil von AOSP, den sie verändert haben. Es beinhaltet zwar nicht die ClosedSource Elemente, jedoch kann man dadurch sehr relativ einfach herausfinden, was man vom Gerät übernehmen muss und hat so eine gute Basis für eine AOSP ROM. Ohne diese Quellen kann es jedoch zur Suche nach der Nadel im Heuhaufen werden.

Mal soviel von meinem Wissensstand.
 
Zuletzt bearbeitet von einem Moderator:
  • Danke
Reaktionen: erni29.6.99, funglejunk und Telvozzzar
Die Antwort ist einfach nur spitze *_*
Wenn ich mehrfach danken könnte würde ich das machen :))

Gesendet von meinem GT-I9300 mit der Android-Hilfe.de App
 
  • Danke
Reaktionen: erni29.6.99
Supi Antwort!
hat auch mir geholfen!

Gesendet von meinem GT-I9300 mit der Android-Hilfe.de App
 

Ähnliche Themen

J
Antworten
1
Aufrufe
1.361
mblaster4711
mblaster4711
WWolf
Antworten
1
Aufrufe
1.392
Andy
Andy
C
Antworten
0
Aufrufe
1.321
Cortablo
C
Zurück
Oben Unten