PurpleZ
Ambitioniertes Mitglied
- 47
Ich möchte hier einen kleinen Guide schreiben für User die ein altes Smartphone besitzen
oder dessen Smartphone keine Updates mehr erhält.
Das Zauberwort heißt hier entweder:
ROM = Für das Smartphone speziell angepasstes Image zum flashen.
GSI = Generic System Image, auch eine Image die aber für (fast) alle Smartphones funktioniert.
Wie ist GSI überhaupt möglich?
Ab Android 8.1 Oreo hat man die sogenannten "Vendor" Partition eingeführt, auf welcher sich Informationen
Des Smartphones befinden und untere anderem die Treiber für alle Komponenten des Smartphones z.b. Kamera.
D.h. um kleinere Updates zu erhalten musste man früher das gesamte Betriebssystem updaten, wie man in der Grafik sehen kann. Außerdem musste sich darum der Hersteller kümmern weswegen man quasi fast nie Updates erhielt.
Also hat man alle Smartphone relevanten Informationen auf die Vendor Partition ausgelagert und konnte somit viel schneller und effektiver das Betriebssystem updaten.
Und zwar bekommt man ab jetzt mit Android 8.1 die Sicherheitsupdates direkt von Google und nicht mehr vom Hersteller. Für mehr Infos -> Generic System Images | Android Open Source Project
Fast zeitgleich wurde durch die Community das "Project Treble" ins leben gerufen, welches es jetzt ermöglicht durch eine separate Vendor Partition, ein freies Android Betriebssystem zu erschaffen für jedes Smartphone, dass Android Open Source Project, kurz AOSP.
Die Programmierer müssen sich jetzt nicht jedes mal mit den technischen Details eines Smartphones beschäftigen, sondern programmieren ein Android OS.
Hauptverantwortlich für das Project Treble ist der User phhusson
Das Project Treble ist so populär das sich bereits zahlreiche Gruppen gefunden haben und Ihr eigenes Android OS zu programmieren mit zum teil genialen Features.
Android Projekte: TrebleGSI • LineageOS • BlissROMs • crDroid • PixelExperience • ION • neon-OS • Havoc-OS • Evolution-X • LiquidRemix • ExtendedUI • ABC Rom • GrapheneOS • SyberiaOS
Wie bekomme ich nun ein aktuelles Android? (Bootloader entsperren)
Bevor wir anfangen überprüft bitte mit der Treble App, ob Ihr eine GSI auf eurem Gerät installieren könnt.
Treble Info – Apps bei Google Play
Das Smartphone ist zu alt, Ihr benötigt mindestens 8.1 (Oreo), empfohlen ist Android 9 (Pie)
Ihr könnt weitermachen und der Anleitung folgen. Erstellt euch bitte ein Screenshot da diese angezeigte Info wichtig ist.
Der Ablauf ist (fast) immer der gleiche, mit kleineren Änderungen je nach Hersteller. Der erste Schritt ist immer den Bootloader zu entsperren. Der Bootloader (ähnlich wie eine BIOS am PC) startet nicht nur das Smartphone, man kann hier bestimmte Sachen konfigurieren oder Markierungen (flags) setzen das etwas mit gestartet werden soll.
In den Bootloader gelangt man durch eine Tastenkombination, entweder POWER + LAUTSTÄRKE Hoch (+) … oder POWER + LAUTSTÄRKE Runter (-). Je nach Hersteller kann der Bootloader auch anders aussehen, aber in den meisten Fällen sieht man Text.
Das Smartphone befindet sich jetzt im sogenannten Fastboot Mode, d.h. man kann über den PC bestimmte Befehle absetzten die mit der Schnittstelle des Smartphones kommuniziert, die sogenannte Android Debug Bridge (adb).
Mehr Infos: Android Debug Bridge (adb) | Android Developers
Früher war es möglich bereits hier das Smartphone zu entsperren, da das aber nicht sicher ist wurden diverse Sicherheitselemente hinzugefügt.
Also muss man das Smartphone neu starten und bootet wieder in das Android System. Hier geht man in die Einstellungen und in die Systeminfos, hier gibt es die Build Number auf die man mehrmals drücken muss um den Entwicklermodus zu öffnen.
Jetzt befindet sich wieder in den Systemeinstellungen der Entwicklermodus.
In den Entwickleroptionen aktiviert man jetzt den OEM-Unlock und ebenfalls das USB-Debugging
Jetzt kann man das Smartphone entsperren. Da wir das USB-Debuggin aktiviert haben können wir bereits jetzt dem Smartphone Befehle senden. Man verbindet das Smartphone mit dem PC.
Jetzt brauchen wir am PC ein kleines Programm mit dessen Hilfe man die Befehle senden kann.
Dafür benötigt man (auch später) das ADB Tool.
Für Windows:
- Xda Tool: [OFFICIAL][TOOL][WINDOWS] ADB, Fastboot and Drivers - 15 seconds ADB Installer v1.4.3
- Von Chip Minimal ADB and Fastboot
Für Linux:
ODER
Nach der Installation öffnet man das Programm (Verknüpfung auf dem Desktop oder im Linux öffnet man die Terminal Anwendung und gibt folgendes ein:
Das Smartphone befindet sich jetzt im Bootloader und in dem Fastboot Modus. Jetzt kann man Befehlen an das Smartphone senden.
Für Windows benötigt man noch einen fastboot Treiber. Leider gibt es hier einen kleinen Stolperstein, es gibt keinen einheitlichen Fastboot Treiber. Das ist auch logisch, da es verschiedene Prozessor Typen gibt (Snapdragon, Mediatek etc.). Auf Linux hat man das Problem meistens nicht.
ACHTUNG! Da man unter Windows einen Treiber installiert, muss man die Windows Treiber Signatur deaktivieren!
Man gehe dazu in die "Einstellungen" -> "Update und Sicherheit" -> "Wiederherstellung" -> "Erweiterter Start"
Unter den "Erweiterten Optionen" finden man nun die "Starteinstellungen". Über den Button "Neu starten" werden alle verfügbaren Starteinstellungen nach wenigen Sekunden angezeigt. Wähle die Option "Erzwingen der Treibersignatur deaktivieren" über die Taste [F7]
Windows (Treiber):
- Get the Google USB Driver | Android Developers
- Falls dieser nicht funktioniert, empfehle ich das kleine Tool Zadiag (Zadig - USB driver installation made easy), es erkennt den benötigten Treiber und installiert diesen sofort… aber im Geräte Manager muss man den Treiber noch auf ADB umstellen (siehe Bild)
Ab hier hat man nun alle Vorrausetzungen um den Bootloader zu entsperren, theoretisch zumindest!
Ich betone das extra, da viele Hersteller eine andere Entsperr-Methode haben.
- Bei Xiaomi kann man mit dem separaten Programm Xiaomi Mi Unlock Tool nach einer bestimmten Wartezeit (1 Woche) erst den Bootloader entsperren
- Bei Sony z.b. muss man auf einer Webseite mit seiner IMEI Nummer einen Entsperrcode anfordern!
Das heißt, informiert euch vorher, wie Ihr euer Gerät entsperren könnt!
Wenn der Treiber korrekt installiert wurde, könnt Ihr das mit folgendem Code überprüfen
Falls hier nichts erscheint oder es steht (waiting for device), seit Ihr entweder nicht im fastboot Modus mit dem Smartphone oder es ist der falsche Treiber installiertam PC.
Im normal Fall geht es jetzt mit dem folgendem Code weiter:
ODER
Je nach Hersteller kann es auch sein, das Ihr jetzt etwas am Smartphone bestätigen müsst, eine Meldung o.ä.
Hier mal ein Bild.
Aus Sicherheitsgründen wird nun die userdata Partition gelöscht auf der alle Benutzerdaten (wie Apps, Handyummern, Profile etc.) sind.
Glückwunsch das Gerät ist nun entsperrt.
Jetzt haben wir Zugriff auf die Partitionen!
Wie flasht man die GSI? (Android GSI flashing)
Da jetzt der Bootloader entsperrt ist, hat man Zugriff auf das gesamte System. An dieser Stelle sei eine Warnung ausgesprochen, man kann sein Smartphone zerstören (bricken). Ein gebricktes Smartphone kann man nur noch in die Tonne schmeißen, falls es sich noch anschalten lässt kann mit einer originalen Image Datei des Herstellers meistens das Gerät retten (stock Image).
Es gibt viele Partitionen, die uns aber nicht alle interessieren, es sei nur gesagt das es meistens (je nach Hersteller), eine Partition für die IMEI gibt, eine auf der die Modem Geräte hinterlegt sind, eine Recovery Partition mit der man das Gerät auf Werkszustand setzt, diverse Cache Partitionen u.v.m.
Das ist ebenfalls je nach Hersteller anders und können zum Teil auch andere Namen haben.
Uns interessiert aber im einzelnen nur die, System, Data(+sdcard) und Recovery Partition.
In der am Anfang geprüften Treble Tauglichkeit, haben wir erfahren was wir für eine Image brauchen, je nach Prozessor Architektur anders. Je nach Prozessor Architektur ergeben sich nun folgende Möglichkeiten:
arm, a64 (arm32_binder64) oder arm64
Danach kommt der Buchstabe für die Partitionsbezeichnung, wenn man eine Vendor Partition hat benötigt man a/b, wenn man keine hat benötigt man nur a.
b = a/b
a = a-only
Danach kommt der Indikator für Google oder ohne Google (Vanilla)
g = gapps
o = gapps-go
v = vanilla (keine Gapps)
f = floss (reine Open Source Apps F-Droid)
Und zu letzt noch ob mit root oder ohne root:
N = kein superuser
S = mit superuser
Z = dynamischer superuser
In unserem Beispiel (das Treble Bild ganz oben), benötigen wir also ein arm32 mit 64bit OS, also binder-64 und der a only Partition. (Hier gibt es eine Besonderheit, wenn man ein Prozessor arm32 mit binder64 hat benötigt man die a64 Version, z.b.
bless-v306-210502-arm-aoZ.img.xz
system-arm-aonly-vanilla-nosu-userdebug.img
Die meisten werden aber ein arm64 haben, also: XYZ-arm64-bvZ.img
Also lädt man sich eine GSI Image:
Treble-Enabled Device Development A/AB ROMS
Und befindet sich im Smartphone im fastboot Modus und hat am PC/Linux den Terminal offen, jetzt führt man folgende Befehle aus:
Falls format nicht klappt, kann man auch erase nehmen.
Jetzt flashen wir die GSI Image: fastboot flash <Partition> /pfad/zur/datei.img
Glückwunsch jetzt nur noch reboot ins System und Ihr seht vor euch das neue Android System!
oder dessen Smartphone keine Updates mehr erhält.
Das Zauberwort heißt hier entweder:
ROM = Für das Smartphone speziell angepasstes Image zum flashen.
GSI = Generic System Image, auch eine Image die aber für (fast) alle Smartphones funktioniert.
Wie ist GSI überhaupt möglich?
Ab Android 8.1 Oreo hat man die sogenannten "Vendor" Partition eingeführt, auf welcher sich Informationen
Des Smartphones befinden und untere anderem die Treiber für alle Komponenten des Smartphones z.b. Kamera.
D.h. um kleinere Updates zu erhalten musste man früher das gesamte Betriebssystem updaten, wie man in der Grafik sehen kann. Außerdem musste sich darum der Hersteller kümmern weswegen man quasi fast nie Updates erhielt.
Also hat man alle Smartphone relevanten Informationen auf die Vendor Partition ausgelagert und konnte somit viel schneller und effektiver das Betriebssystem updaten.
Und zwar bekommt man ab jetzt mit Android 8.1 die Sicherheitsupdates direkt von Google und nicht mehr vom Hersteller. Für mehr Infos -> Generic System Images | Android Open Source Project
Fast zeitgleich wurde durch die Community das "Project Treble" ins leben gerufen, welches es jetzt ermöglicht durch eine separate Vendor Partition, ein freies Android Betriebssystem zu erschaffen für jedes Smartphone, dass Android Open Source Project, kurz AOSP.
Die Programmierer müssen sich jetzt nicht jedes mal mit den technischen Details eines Smartphones beschäftigen, sondern programmieren ein Android OS.
Hauptverantwortlich für das Project Treble ist der User phhusson
Das Project Treble ist so populär das sich bereits zahlreiche Gruppen gefunden haben und Ihr eigenes Android OS zu programmieren mit zum teil genialen Features.
Android Projekte: TrebleGSI • LineageOS • BlissROMs • crDroid • PixelExperience • ION • neon-OS • Havoc-OS • Evolution-X • LiquidRemix • ExtendedUI • ABC Rom • GrapheneOS • SyberiaOS
Wie bekomme ich nun ein aktuelles Android? (Bootloader entsperren)
Bevor wir anfangen überprüft bitte mit der Treble App, ob Ihr eine GSI auf eurem Gerät installieren könnt.
Treble Info – Apps bei Google Play
Das Smartphone ist zu alt, Ihr benötigt mindestens 8.1 (Oreo), empfohlen ist Android 9 (Pie)
Ihr könnt weitermachen und der Anleitung folgen. Erstellt euch bitte ein Screenshot da diese angezeigte Info wichtig ist.
Der Ablauf ist (fast) immer der gleiche, mit kleineren Änderungen je nach Hersteller. Der erste Schritt ist immer den Bootloader zu entsperren. Der Bootloader (ähnlich wie eine BIOS am PC) startet nicht nur das Smartphone, man kann hier bestimmte Sachen konfigurieren oder Markierungen (flags) setzen das etwas mit gestartet werden soll.
In den Bootloader gelangt man durch eine Tastenkombination, entweder POWER + LAUTSTÄRKE Hoch (+) … oder POWER + LAUTSTÄRKE Runter (-). Je nach Hersteller kann der Bootloader auch anders aussehen, aber in den meisten Fällen sieht man Text.
Das Smartphone befindet sich jetzt im sogenannten Fastboot Mode, d.h. man kann über den PC bestimmte Befehle absetzten die mit der Schnittstelle des Smartphones kommuniziert, die sogenannte Android Debug Bridge (adb).
Mehr Infos: Android Debug Bridge (adb) | Android Developers
Früher war es möglich bereits hier das Smartphone zu entsperren, da das aber nicht sicher ist wurden diverse Sicherheitselemente hinzugefügt.
Also muss man das Smartphone neu starten und bootet wieder in das Android System. Hier geht man in die Einstellungen und in die Systeminfos, hier gibt es die Build Number auf die man mehrmals drücken muss um den Entwicklermodus zu öffnen.
Jetzt befindet sich wieder in den Systemeinstellungen der Entwicklermodus.
In den Entwickleroptionen aktiviert man jetzt den OEM-Unlock und ebenfalls das USB-Debugging
Jetzt kann man das Smartphone entsperren. Da wir das USB-Debuggin aktiviert haben können wir bereits jetzt dem Smartphone Befehle senden. Man verbindet das Smartphone mit dem PC.
Jetzt brauchen wir am PC ein kleines Programm mit dessen Hilfe man die Befehle senden kann.
Dafür benötigt man (auch später) das ADB Tool.
Für Windows:
- Xda Tool: [OFFICIAL][TOOL][WINDOWS] ADB, Fastboot and Drivers - 15 seconds ADB Installer v1.4.3
- Von Chip Minimal ADB and Fastboot
Für Linux:
Code:
sudo apt-get install android-tools-fastboot
Code:
sudo add-apt-repository universe && sudo apt-get update && sudo apt-get install android-tools-adb android-tools-fastboot
Nach der Installation öffnet man das Programm (Verknüpfung auf dem Desktop oder im Linux öffnet man die Terminal Anwendung und gibt folgendes ein:
Code:
adb reboot bootloader
Das Smartphone befindet sich jetzt im Bootloader und in dem Fastboot Modus. Jetzt kann man Befehlen an das Smartphone senden.
Für Windows benötigt man noch einen fastboot Treiber. Leider gibt es hier einen kleinen Stolperstein, es gibt keinen einheitlichen Fastboot Treiber. Das ist auch logisch, da es verschiedene Prozessor Typen gibt (Snapdragon, Mediatek etc.). Auf Linux hat man das Problem meistens nicht.
ACHTUNG! Da man unter Windows einen Treiber installiert, muss man die Windows Treiber Signatur deaktivieren!
Man gehe dazu in die "Einstellungen" -> "Update und Sicherheit" -> "Wiederherstellung" -> "Erweiterter Start"
Unter den "Erweiterten Optionen" finden man nun die "Starteinstellungen". Über den Button "Neu starten" werden alle verfügbaren Starteinstellungen nach wenigen Sekunden angezeigt. Wähle die Option "Erzwingen der Treibersignatur deaktivieren" über die Taste [F7]
Windows (Treiber):
- Get the Google USB Driver | Android Developers
- Falls dieser nicht funktioniert, empfehle ich das kleine Tool Zadiag (Zadig - USB driver installation made easy), es erkennt den benötigten Treiber und installiert diesen sofort… aber im Geräte Manager muss man den Treiber noch auf ADB umstellen (siehe Bild)
Ab hier hat man nun alle Vorrausetzungen um den Bootloader zu entsperren, theoretisch zumindest!
Ich betone das extra, da viele Hersteller eine andere Entsperr-Methode haben.
- Bei Xiaomi kann man mit dem separaten Programm Xiaomi Mi Unlock Tool nach einer bestimmten Wartezeit (1 Woche) erst den Bootloader entsperren
- Bei Sony z.b. muss man auf einer Webseite mit seiner IMEI Nummer einen Entsperrcode anfordern!
Das heißt, informiert euch vorher, wie Ihr euer Gerät entsperren könnt!
Wenn der Treiber korrekt installiert wurde, könnt Ihr das mit folgendem Code überprüfen
Code:
fastboot devices
Falls hier nichts erscheint oder es steht (waiting for device), seit Ihr entweder nicht im fastboot Modus mit dem Smartphone oder es ist der falsche Treiber installiertam PC.
Im normal Fall geht es jetzt mit dem folgendem Code weiter:
Code:
fastboot flashing unlock
Code:
fastboot oem unlock
Je nach Hersteller kann es auch sein, das Ihr jetzt etwas am Smartphone bestätigen müsst, eine Meldung o.ä.
Hier mal ein Bild.
Aus Sicherheitsgründen wird nun die userdata Partition gelöscht auf der alle Benutzerdaten (wie Apps, Handyummern, Profile etc.) sind.
Glückwunsch das Gerät ist nun entsperrt.
Jetzt haben wir Zugriff auf die Partitionen!
Wie flasht man die GSI? (Android GSI flashing)
Da jetzt der Bootloader entsperrt ist, hat man Zugriff auf das gesamte System. An dieser Stelle sei eine Warnung ausgesprochen, man kann sein Smartphone zerstören (bricken). Ein gebricktes Smartphone kann man nur noch in die Tonne schmeißen, falls es sich noch anschalten lässt kann mit einer originalen Image Datei des Herstellers meistens das Gerät retten (stock Image).
Es gibt viele Partitionen, die uns aber nicht alle interessieren, es sei nur gesagt das es meistens (je nach Hersteller), eine Partition für die IMEI gibt, eine auf der die Modem Geräte hinterlegt sind, eine Recovery Partition mit der man das Gerät auf Werkszustand setzt, diverse Cache Partitionen u.v.m.
Das ist ebenfalls je nach Hersteller anders und können zum Teil auch andere Namen haben.
Uns interessiert aber im einzelnen nur die, System, Data(+sdcard) und Recovery Partition.
In der am Anfang geprüften Treble Tauglichkeit, haben wir erfahren was wir für eine Image brauchen, je nach Prozessor Architektur anders. Je nach Prozessor Architektur ergeben sich nun folgende Möglichkeiten:
arm, a64 (arm32_binder64) oder arm64
Danach kommt der Buchstabe für die Partitionsbezeichnung, wenn man eine Vendor Partition hat benötigt man a/b, wenn man keine hat benötigt man nur a.
b = a/b
a = a-only
Danach kommt der Indikator für Google oder ohne Google (Vanilla)
g = gapps
o = gapps-go
v = vanilla (keine Gapps)
f = floss (reine Open Source Apps F-Droid)
Und zu letzt noch ob mit root oder ohne root:
N = kein superuser
S = mit superuser
Z = dynamischer superuser
In unserem Beispiel (das Treble Bild ganz oben), benötigen wir also ein arm32 mit 64bit OS, also binder-64 und der a only Partition. (Hier gibt es eine Besonderheit, wenn man ein Prozessor arm32 mit binder64 hat benötigt man die a64 Version, z.b.
bless-v306-210502-arm-aoZ.img.xz
system-arm-aonly-vanilla-nosu-userdebug.img
Die meisten werden aber ein arm64 haben, also: XYZ-arm64-bvZ.img
Also lädt man sich eine GSI Image:
Treble-Enabled Device Development A/AB ROMS
Und befindet sich im Smartphone im fastboot Modus und hat am PC/Linux den Terminal offen, jetzt führt man folgende Befehle aus:
Code:
fastboot format data
Code:
fastboot format system
Falls format nicht klappt, kann man auch erase nehmen.
Jetzt flashen wir die GSI Image: fastboot flash <Partition> /pfad/zur/datei.img
Code:
fastboot flash system /pfad/zur/datei.img
Glückwunsch jetzt nur noch reboot ins System und Ihr seht vor euch das neue Android System!
Code:
fastboot reboot
Zuletzt bearbeitet: