Ist das nicht möglich?

Die Plauderecke für alles mögliche ohne Bezug zu DC-Projekten.
Nachricht
Autor
OliverWade
Fingerzähler
Fingerzähler
Beiträge: 1
Registriert: 02.07.2023 04:37

Ist das nicht möglich?

#1 Ungelesener Beitrag von OliverWade » 11.08.2023 13:56

Hallo zusammen, als Nicht-Programmierer bin ich neugierig zu verstehen, warum es eine herausfordernde Aufgabe zu sein scheint, Android an verschiedene Telefone anzupassen. Im Gegensatz zu PCs, bei denen Windows- oder Linux-Distributionen problemlos auf Geräten und Konfigurationen verschiedener Hersteller installiert werden können, ist es nicht ersichtlich, warum ein ähnlicher Ansatz nicht auch auf Android für Smartphones angewendet werden kann. Ist es nicht möglich, mit einigem Aufwand eine Android-Distribution zu erstellen, die der Benutzer mit speziellen Treibern so anpassen kann, dass sie auf jedem Gerät funktioniert? Ich würde mich über ein paar Einblicke zu diesem Thema freuen. Danke schön!

Jürgen
Task-Killer
Task-Killer
Beiträge: 777
Registriert: 05.09.2001 01:00
Wohnort: Porta Westfalica
Kontaktdaten:

Re: Ist das nicht möglich?

#2 Ungelesener Beitrag von Jürgen » 14.08.2023 19:04

Genau das frage ich mich auch. Warum gibt es auf ARM-Devices keine klassische Installation, wie man sie vom PC her kennt?

Ich selber haben einen Odroid N2, um den zu "installieren", muß ich ein speziell für dieses Gerät gebautes Image auf eine SD-Karte schreiben was dann direkt Bootet, ohne daß irgendeine sichtbare Installation passiert, geschweige denn, daß man irgendwelche Optionen setzen kann, was genau installiert werden soll.
Jürgen
-----
Der Computer ist ein Hilfsmittel zum Lösen von Problemen, die man ohne ihn gar nicht erst hat!
Bild Bild

Novas
Vereinsmitglied
Vereinsmitglied
Beiträge: 89
Registriert: 09.02.2023 17:44

Re: Ist das nicht möglich?

#3 Ungelesener Beitrag von Novas » 14.08.2023 19:44

Ich kann das Teilweise beantworten. Ich bin allerdings auch kein Profi auf dem Gebiet!

Grundsätzlich geht das! Sowas gibts auch schon. Das nennt sich dann Custom-ROM. Die größten aktuell sind LineageOS (ehemals CyanogenMod, wenn ich mich richtig erinner) und GrapheneOS (kennt man vielleicht noch als Empfehlung des Herrn Snowden).
Der große unterschied bei Smartphone im Vergleich zu PCs ist, dass die Hardware bzw. die Schnittstellen (USB, PCI, etc.) standardisiert sind und i.d.R. öffentliche Treiber für die komponentent für die größten Betriebssysteme und CPU Architekturen vom Hersteller bereitgestellt werden. Außerdem wird bei vielen Geräten (z.B. von Samsung) großer Wert auf Sicherheit gelegt. Da wird dann der Bootloader "abgeschlossen", sodass du gar nicht die Möglichkeit hast ein anderes Betriebssystem darauf zu installieren. Das macht für die Allgemeinheit m.M.n. auch Sinn, da man sich somit nicht beim Laden des Smarthpones in der Bahn plötzlich (einfach so) etwas einfangen kann. Für alle Bastler und Hacker ists natürlich doof und ist dann z.B. auf Sicherheitslücken oder Gnade des Herstellers angewiesen (OnePlus hat früher eine einfache Option zum entsperren des Bootloaders gehabt).

Thema Hardware und Treiber:
Alle benutzen die selbe kleine Auswahl an SoCs (System on a Chip). Apple, Google und Samsung haben eigene SoCs. MediaTek, Qualcomm vertreiben ihre offen und HiSolicon baut welche für Huawei.
Ein SoC ist ein einziger Chip, der die Kernkomponenten des Rechners inne hat (CPU, GPU, (RAM) und ggf. weitere Beschleuniger für z.B. KI). Apple macht das ja sogar bei ihren aktuellen Desktops und Laptops.
Diese SoCs basieren aktuell fast alle auf der ARM Architektur. Alle die darauf basieren implementieren also die von ARM vorgegebenen Befehle für CPU usw. und sind somit in der lage die Programme (Apps) auszuführen, sofern alle Hardwarefunktionen vorhanden sind. Hier hört dann aber die Gemeinsamkeiten zu den x64 Chips von Intel und AMD auf. Denn jeder Hersteller lässt sich irgendwo seine extra Beschleuniger, Kameras, Sensoren usw. bauen. Da weiß dann nur der Hersteller bzw. jeweilige Auftraggeber (Samsung, Huawei, OnePlus, Sony, etc.) wie man die Dinger anspricht und kann somit Treiber programmieren.
Das ist auch der Grund, weshalb bei es bei den Custom ROMs immer eine eingeschränkte Auswahl an kompatiblen Geräten gibt bei denen alles läuft. Wenn man in den Foren mal rumschaut (z.B. https://forum.xda-developers.com/) dann findet man bei den offiziellen und inoffiziellen Versionen von Custom-ROMs meistens eine Liste mit Dingen die nicht laufen wie z.B. eine oder mehrere Kameras, Mikrofone, erweiterbarer Speicher oder versch. Lautsprecher WLAN, sonstige Anschlüsse usw. Da muss dann immer jemand hingehen und herausfinden wie genau man die denn anspricht und quasi selbst einen Treiber für die Custom ROM schreiben.

Bei den ganzen Single Board Computern sieht man, dass sowas gehen kann. Denn Raspberry Pi und co. basieren auch auf SoCs die man in ein Smartphone pflanzen könnte. Hier sehen wir aber auch, dass es ein großer Aufwand ist alte und neue Hardware und Kernel zu unterstützen. Raspbian und Ubuntu laufen meines Wissens nach ziemlich Problemlos auf den original Raspberry Pis, da die Hersteller hier zusammenarbeiten um ein laufendes Produkt zu erhalten. Das kostet allerdings viel Zeit und Geld, deshalb sind die Raspberry Pis im Vergleich auch etwas teurer. Kauft man sich jetzt aber eines der vielen Konkurrenzprodukte, dann muss man häufig selbst Hand anlegen und irgendwelche Treiber selbst kompilieren, dann gibts nur fertige Images mit völlig veralteten Kerneln usw. oder die vom Hersteller gelieferten Treiber für die Hardwarekonfiguration hat Fehler und man muss beten, dass mal ein Patch kommt.

In der Smartphonewelt machen sich die meisten Hersteller genau das zu nutze. Sie bauen ihre Hard- und Software so, dass meist nur die eigenen Sachen funktionieren und sie im Markt somit einen Vorteil haben. Immerhin wollen sie Geld verdienen. Warum sollten sie viele tausend Stunden Arbeitszeit investieren, damit fremde Hardware oder Software kompatibel ist? Wenn sie dann die neusten Softwarefunktionen nur für neuere Modelle herausbringen, so müssen die Leute halt ein neues Smartphone kaufen.

Am Ende basiert Android auch nur auf Linux. Sofern die Hardware es zulässt, kann man also hacken und programmieren wie man lustig ist. Ohne Hilfe der Hersteller der Komponenten mit Treibern und Dokumentation, ist es aber sehr sehr viel Aufwand mehr als "Hello World" auf dem Display auszugeben.

Noch etwas eigene Meinung:
Ich denke, dass das größte Problem der Einsatzzweck des Gerätes ist. Linux wird auf unglaublich vielen Servern und Workstations eingesetzt. Viele viele private Leute und auch Firmen haben es als Grundlage genutzt um ihre z.B. ihre Serverdienste anzubieten oder was auch immer zu tun. Welchen Grund gibt es das für Smartphones zu tun? Selbst beim billig Hersteller laufen die meisten Apps und dafür ist das Smartphone ja da. Man betreibt keine große Forschung oder Server auf dem Smartphone. Man benutzt es auch eher nicht zum arbeiten, da der Bildschirm meist zu klein ist für komplexe Aufgaben und für die einfachen Aufgaben reichen die vorhanden geschlossenen Systeme von Apple, Samsung und co. Warum sollten viele Leute sehr viel Zeit investieren irgendwelche eigenen Treiber für 1000 verschiedene Smartphones zu schreiben, wenn sie auch einfach einen normalen PC oder Raspberry Pi nutzen können? PCs lassen sich ja auch noch besser reparieren und aufrüsten.

Am Ende kann man sich auch die Frage stellen, warum ich kein beliebiges Betriebssystem auf mein Auto oder eScooter packen kann. Die Firmen die existieren wollen Geld verdienen, nicht die Welt zu einem besseren Ort machen und der Gesellschaft helfen. Sicherlich gibts auch Argumente für die Überprüfbarkeit und Zulassung etc. Wenn jeder einfach ne andere Software flashen kann, die das Tempolimit beim Roller aufhebt, dann wäre das vermutlich ein Problem. Gleichzeitig passiert es ja schon sowohl beim Auto als auch beim Roller.
Bild

Benutzeravatar
Yeti
Oberprojektler
Oberprojektler
Beiträge: 1918
Registriert: 01.04.2008 21:15
Kontaktdaten:

Re: Ist das nicht möglich?

#4 Ungelesener Beitrag von Yeti » 15.08.2023 09:22

Novas hat geschrieben:
14.08.2023 19:44
Am Ende kann man sich auch die Frage stellen, warum ich kein beliebiges Betriebssystem auf mein Auto oder eScooter packen kann. Die Firmen die existieren wollen Geld verdienen, nicht die Welt zu einem besseren Ort machen und der Gesellschaft helfen.
Ein weiterer wichtiger Grund ist bei allen Firmen, die etwas herstellen, die gesetzliche Produkthaftung. Und da ja "clevere" Anwälte immer wieder der Meinung sind, sie müssten Firmen aus den hahnebüchesten Gründen verklagen, werden die Firmen alles tun, ihre Produkte vor jeglicher Art der Veränderung zu schützen.
Bild

Supporting BOINC, a great concept !

Antworten

Zurück zu „Smalltalk“