Google-freies Fairphone 5 plus Root
mit exklusivem "Anti-Brick-Diagramm"
- Christian Süßenguth
- 24.03.2024, aktualisiert am
- Blog
Auch wenn das Fairphone 5 offiziell Google-freie Android-Alternativen unterstützt, ist die Installation leider alles andere als einfach. In diesem Artikel zeige ich dir, wie du den Bootloader entsperrst, ohne Google dabei irgendwelche Daten zu liefern, anschließend ein Google-freies Android wie murenaOS bzw. /e/OS oder iodéOS installierst und dein Gerät optional rootest. Außerdem gebe ich dir auf diesem Weg ein ausführliches und exklusives "Anti-Brick-Diagramm" für das Fairphone 5 on top dazu. Das wird dir – neben den Hinweisen im Tutorial selbst – hoffentlich so manchen Ärger ersparen 🥳.
Inhaltsverzeichnis
Auslieferungszustand
Wieso sind Google-Apps ein Problem?
Vorbereitungen
Einrichtungsassistent
Netzzugriff mit Firewall beschränken (optional)
Firewall-Einrichtung
Bootloader-Entsperrung erlauben
Unlock-Code anfordern
Entwickleroptionen freischalten und öffnen
OEM-Entsperrung
Android-Sicherheitsupdate-Stand
USB-Debugging (ADB) erlauben
Alle Modem-Funktionen einmal testen
In den Bootloader-Modus wechseln
Bootloader entsperren
Stufe 1 – unlock
Stufe 2 – unlock_critical
Abfrage der entsperrten Teile des Bootloaders
Installation eines Google-freien Android-Systems
Installation von murenaOS bzw. /e/OS
Installation von iodéOS
Weitere Systeme für das FP5
Rooten
Vorraussetzungen
Rootvorgang starten
OTA installieren und Root behalten
Bootloader erneut sperren
"Anti-Brick-Diagramm" für das Fairphone 5
Ich möchte mein Fairphone 5 entgoogeln oder rooten, habe dabei aber Schwierigkeiten
Weiterführende Links
⚠️ WARNUNG ⚠️
Es ist leider sehr einfach, das Fairphone 5 auf diesem Weg an verschiedenen Stellen zu bricken (dauerhaft lahmzulegen), falls man sich nicht genau an die Schritte hält. Das führt dazu, dass man das Gerät nach Frankreich zu Cordon Electronics einschicken muss, damit es erneut zum Leben erweckt wird. Das kostet nicht nur unnötig Zeit, sondern ggf. auch Geld (ca. 35€ + Versand).
Also sei wachsam beim gesamten Prozess, lies alle Texte und Meldungen sehr genau und gehe Schritt für Schritt vor! Hinweise in roten Kästen weisen dich jeweils auf derartige Risiken hin.
Falls du dir die Schritte nicht zutraust, wende dich gerne an eine ITler:in mit entsprechender Fachkenntnis oder kaufe dein Fairphone 5 direkt bei den Softwareanbietern im murena Shop oder im iodé Shop. Dort findest du verschiedene Geräte (z.B. das Fairphone 4/5), die bereits mit Google-freiem Betriebssystem ausgeliefert werden.
Auslieferungszustand
Zurück zum Fairphone 5. Standardmäßig wird dieses leider mit einem vollkommen von Google(-Apps) verseuchten Android ausgeliefert:
Es gibt zwar keine Bloatware – in meinen Augen ist das allerdings nur ein sehr schwacher Trost. 😅
Wieso sind Google-Apps ein Problem?
Weil sich das Unternehmen Google als US-amerikanische Firma nicht sonderlich für Datenschutz und Privatsphäre interessiert. Googles Geschäftmodell ist der Handel mit Daten und den Erkenntnissen, die sie aus der Analyse der gesammelten Daten erhalten. Je mehr Daten sie bekommen, desto besser ist das fürs Geschäft und deren Profit. Google kontrolliert mit den Google-Apps (und dem System selbst) quasi alles, was du auf deinem Smartphone tust. Google kann eigenmächtig Apps löschen, deinen Standort und deine Aktivitäten verfolgen, deine Daten und Bilder einsehen, falls du sie in die Cloud synchronisierst und noch vieles mehr.
Wenn du also die Kontrolle über dein Smartphone und deine Privatsphäre zurückgewinnen möchtest, ist dieses ausführliche Tutorial genau richtig für dich.
Vorbereitungen
Einrichtungsassistent
Nachdem du dein Fairphone 5 zum ersten Mal gestartet hast, erscheint der Einrichtungsassistent.
Voraussetzungen, um den Bootloader im nächsten Schritt ohne jeglichen Google-Kontakt zu entsperren:
- Vor dem ersten Einschalten KEINE SIM-Karte einlegen
- Im Einrichtungsassistenten KEINE WLAN-Verbindung herstellen
- Eine Hardware-Firewall und ein WLAN-Router, um Netzwerkzugriffe zu blockieren
Gehe diesen wie in der nachfolgenden Bilderstrecke Schritt für Schritt durch, aber stelle darin KEINE Internetverbindung her. Auch solltest du vorher keine SIM-Karte einlegen, da diese beim ersten Start automatisch aktiv wäre und darüber eine Internetverbindung aufgebaut werden würde.
Wichtig ist außerdem, dass du einen PIN-Code festlegst, sonst lässt sich der Bootloader im nächsten Schritt nicht entsperren.
Nachdem du den Einrichtungsassistenten abgeschlossen hast, öffnet sich die Fairphone-App. Was du hier einstellst, spielt keine Rolle, da wir das System sowieso neu installieren werden.
Hinweis: Starte die Bilderstrecke, indem du auf eines der Bilder klickst. Navigieren kannst du dann mit den Pfeiltasten oder durch Wischgesten. Die Beschreibung steht jeweils unterhalb der Bilder.
Netzzugriff mit Firewall beschränken (optional)
Hinweis
Falls dir nicht wichtig ist, dass Google, Qualcomm und Co. von der Einrichtung deines Gerätes erfahren, kannst du diese Passage überspringen.
Ich empfehle dir allerdings, diese Entscheidung mit Bedacht zu treffen. Denn sobald Google einmal deine IMEI und Seriennummer erfährt, ist dieses Gerät dort theoretisch bis in alle Ewigkeit bekannt, da sich die IMEI nicht ändern lässt.
Sobald das Fairphone 5 im Auslieferungszustand eine Internetverbindung erhält, werden allerlei Server kontaktiert. Darunter fallen natürlich jede Menge Google-Server, aber auch Qualcomm (qcc.qualcomm.com
), der eSIM-Dienst (lpa.ds.gsma.com
) und einige andere. Hier findest du einen kleinen Ausschnitt der kontaktierten Domains:
Bisher haben wir das damit unterbunden, dass wir gar keine Internetverbindung ermöglicht haben. Für das Entsperren des Bootloaders benötigen wir per HTTPS allerdings kurzzeitig Zugriff auf die Domain factory.fairphone.com
.
Um das zu erlauben, ohne dass all die anderen Dienste ebenfalls Internetzugriff erhalten, benötigst du eine Firewall und einen WLAN-Accesspoint. Mit der Firewall beschränken wir die Zugriffe deines Fairphone 5 auf NTP (für die Uhrzeit, falls nicht händisch angepasst), DNS (für die Namensauflösung) und den Zugriff auf die Fairphone-Domain factory.fairphone.com
.
Durch die fehlende Internetverbindung sind die Uhrzeit und das Datum auf deinem Fairphone 5 nicht korrekt. Das würde dazu führen, dass keine HTTPS-Verbindungen aufgebaut werden können. Diese benötigen wir aber, um die Anfrage zum Entsperren des Bootloaders abzusenden. Entweder du korrigierst diese beiden Werte händisch über die Android-Einstellungen, oder du konfigurierst deine Firewall so, dass diese neben DNS-Anfragen auch NTP-Anfragen zulässt bzw. weiterleitet.
Firewall-Einrichtung
Hinweis
Da dieser Schritt IT-Fachwissen voraussetzt, gehe ich nur stichpunktartig auf die einzelnen Schritte ein.
Wichtig sind bei der Firewall-Konfiguration:
- Die Firewall macht selbst ein passendes WLAN-Netz auf oder du hast an deine Firewall einen WLAN-Router angeschlossen, der das übernimmt.
- Die Firewall weist den WLAN-Clients die IP-Adressen per DHCP zu
- IPv6 ist in der Firewall vollständig deaktiviert, d.h. es können keinerlei IPv6-Anfragen ins Internet gestellt werden
- Falls dir auch wichtig ist, dass keinerlei NTP- und DNS-Dienste von Google kontaktiert werden, konfiguriere die Firewall so, dass Anfragen zu NTP und DNS über eine Portweiterleitung an die Firewall selbst gestellt werden. Dort kannst du dann genau hinterlegen, an welche Server die Anfragen weitergeleitet werden. Meine Empfehlung sind dns.njal.la und Quad9.
- Gib in der Firewall für Internetzugriff ausschließlich Port 443 (TCP) auf die Domain
factory.fairphone.com
frei und blockiere den gesamten restlichen Internetzugriff
Als Firewall-Distribution empfehle ich dir OPNsense. Entsprechende Hardware mit integriertem WLAN vorausgesetzt sind die Installation und Konfiguration in rund 15-30 Minuten abgeschlossen.
Bootloader-Entsperrung erlauben
Der Bootloader des Fairphone 5 ist standardmäßig gesperrt, was eine Art Sicherheitsmaßnahme darstellt, damit ein potentieller Dieb / Finder deines Gerätes nicht einfach ein neues System installieren und das Gerät weiterverkaufen kann. Auch verhindert ein gesperrter Bootloader, dass der Bootprozess "unterwandert" und damit ggf. Daten auf deinem System ausgespäht werden können. Um nun ein anderes Betriebssystem auf dem Gerät installieren (flashen) zu können, müssen wir den Bootloader daher entsperren.
Wichtiger Hinweis
Nach der Installation eines der Google-freien Betriebssysteme kann man den Bootloader wieder sperren. Allerdings solltest du das nur tun, wenn du dir der Folgen bewusst bist. Ich beschreibe das unter Bootloader erneut sperren genauer.
Ein ungesperrter Bootloader ist zwar ein gewisses Sicherheitsrisiko, welches meiner Meinung nach in der Praxis aber vernachlässigbar gering ist. Auch steht es in keinem Verhältnis zu dem Ärger, ein "gebricktes" Gerät einschicken und ggf. kostenpflichtig instandsetzen lassen zu müssen. Vom vollständigen Datenverlust durch einen Hardreset in so einem Fall ganz zu schweigen.
Auch schließen sich Root und ein gesperrter Bootloader kategorisch aus. Mehr dazu unter Rooten.
Unlock-Code anfordern
Um den Bootloader zu entsperren, benötigst du deinen individuellen "Unlock Code" und eine Internetverbindung, die Zugriff auf factory.fairphone.com
erlaubt (mehr dazu findest du unter Netzzugriff mit Firewall beschränken (optional)). Diesen erhältst du nach Eingabe von IMEI1 und Seriennummer deines Fairphone 5 kostenfrei auf dieser Seite von Fairphone. Um die beiden Werte abzufragen, öffne die Einstellungen und folge den Anweisungen in der Bilderstrecke.
Entwickleroptionen freischalten und öffnen
Als Nächstes benötigen wir Zugriff auf die Entwickleroptionen. Diese müssen einmalig aktiviert werden, da sie standardmäßig nicht sichtbar sind.
Hinweis: Starte die Bilderstrecke, indem du auf eines der Bilder klickst. Navigieren kannst du dann mit den Pfeiltasten oder durch Wischgesten. Die Beschreibung steht jeweils unterhalb der Bilder.
OEM-Entsperrung
In den Entwickleroptionen kannst du die Bootloader-Entsperrung nun mit Klick auf "OEM-Entsperrung" erlauben.
Hinweis: Starte die Bilderstrecke, indem du auf eines der Bilder klickst. Navigieren kannst du dann mit den Pfeiltasten oder durch Wischgesten. Die Beschreibung steht jeweils unterhalb der Bilder.
Android-Sicherheitsupdate-Stand
Um die sog. Rollback-Protection von Google nicht auszulösen, müssen wir noch wissen, auf welchem "Android-Sicherheitsupdate-Stand" das Fairphone 5 ist. Notiere dir das Datum, wir benötigen es später.
Hinweis: Starte die Bilderstrecke, indem du auf eines der Bilder klickst. Navigieren kannst du dann mit den Pfeiltasten oder durch Wischgesten. Die Beschreibung steht jeweils unterhalb der Bilder.
USB-Debugging (ADB) erlauben
Voraussetzungen
Für diesen Schritt benötigst du das Tool adb
, im weiteren Verlauf des Tutorials auch das Tool fastboot
. Beide Tools sind in den "SDK Platform Tools" für Android enthalten. Auf die Installation der Tools gehe ich nicht weiter ein, dafür gibt es bereits viele Tutorials im Internet. Eine englischsprachige Installationsanleitung für Linux bzw. macOS findest du hier, eine für Windows hier.
Damit wir gleich leichter in den Bootloader-Modus gelangen, muss das USB-Debugging aktiviert und dein PC einmalig authorisiert werden.
Hinweis: Starte die Bilderstrecke, indem du auf eines der Bilder klickst. Navigieren kannst du dann mit den Pfeiltasten oder durch Wischgesten. Die Beschreibung steht jeweils unterhalb der Bilder.
Alle Modem-Funktionen einmal testen
In der offiziellen Installationsanleitung von z.B. murenaOS bzw. /e/OS wird empfohlen, alle Modem-Funktionen wie Mobiles Internet, SIM-Karten-Erkennung, SMS-Empfang und -Versand, VoLTE (Voice over LTE), VoWIFI (Voice over WiFi) usw. mit dem System im Auslieferungszustand mind. einmal getestet zu haben. Denn wenn diese Dinge im Auslieferungszustand nicht funktionieren, werden sie auch mit einem der Google-freien System nicht funktionieren.
Grund dafür ist, dass in den Installationspaketen manchmal die Modem-Firmware (modem.img
bzw. radio.img
) nicht enthalten ist, die diese proprietären Funktionalitäten steuert. Da diese Firmware-Datei, die ausschließlich aus binären (nicht lesbaren/entpackbaren) Daten besteht, aber sowohl bei murenaOS bzw. /e/OS, als auch bei iodéOS (siehe "Unterstützte Geräte") im Installationspaket enthalten ist, habe ich diesen Schritt nicht durchgeführt.
Mir ist es wichtiger, dass über das von Google(-Apps) verseuchte "Original-System" keinerlei Daten an irgendwelche Firmen fließen können. Außerdem kann man mit einem entsperrten Bootloader auch nachträglich jederzeit eine aktualisierte Modem-Firmware aus dem Original-Android-Image von Fairphone einspielen. Dennoch möchte ich es der Vollständigkeit halber hier erwähnen. Ich übernehme keine Gewähr, dass bei dir ohne diesen Schritt ebenfalls alles so reibungslos funktioniert wie bei mir.
In den Bootloader-Modus wechseln
Stecke das Fairphone 5 nun per USB-Kabel an deinen PC an. Achte dabei darauf, dass es sich um ein Datenübertragungs-Kabel handelt, was nicht ausschließlich zum Laden genutzt werden kann.
Unter Linux meldet sich das Gerät in dmesg
wie folgt:
usb 2-1: new SuperSpeed USB device number 25 using xhci_hcd
usb 2-1: LPM exit latency is zeroed, disabling LPM.
usb 2-1: New USB device found, idVendor=18d1, idProduct=4ee7, bcdDevice= 5.04
usb 2-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
usb 2-1: Product: Fairphone 5 5G
usb 2-1: Manufacturer: Fairphone
usb 2-1: SerialNumber: XXXXXXXX
Prüfen anschließend, ob dein PC bereits authorisiert ist:
adb devices
List of devices attached
9cb0d8bb device
Hier muss hinter der individuellen ID das Wort device
stehen. Steht hier hingegen unauthorized
, hast du deinen PC noch nicht authorisiert (siehe Bilderstrecke bei USB-Debugging (ADB) erlauben). Stecke das Fairphone 5 in dem Fall nochmal ab, wieder an und führe den Befehl erneut aus.
Führe nun folgenden Befehl aus, um in den Bootloader-Modus zu wechseln:
adb reboot bootloader
Info
Alternativ zu diesem Befehl kannst du dein Fairphone 5 auch herunterfahren bzw. vollständig abschalten. Nach kurzer Wartezeit und dem Gedrückt-Halten der Tastenkombination [Lautstärke nach unten]
und [Power]
bis das Fairphone-Logo erscheint startet dein Gerät in den Bootloader-Modus. Ich empfehle dir, dass du dabei noch kein Kabel anschließt, damit das Gerät nicht im Lademodus landet.
Wenn alles geklappt hat, erscheint folgender Inhalt auf deinem Fairphone 5 und wir befinden uns im Bootloader-Modus. Die Angabe bei 1 (DEVICE STATE - locked
) gibt an, dass sich der Bootloader noch im gesperrten Zustand befindet.
Unter Linux meldet sich das Gerät in dmesg
wie folgt:
usb 2-1: new high-speed USB device number 53 using xhci_hcd
usb 2-1: New USB device found, idVendor=18d1, idProduct=d00d, bcdDevice= 1.00
usb 2-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
usb 2-1: Product: Android
usb 2-1: Manufacturer: Google
usb 2-1: SerialNumber: XXXXXXXX
Wir sind nun bereit, den Bootloader endgültig zu entsperren und anschließend ein Google-freies Betriebssystem zu installieren.
Bootloader entsperren
Wie bereits erwähnt, muss der Bootloader vor der Installation eines Systems erst noch entsperrt werden. Bisher haben wir diese Entsperrung nur erlaubt, aber noch nicht durchgeführt. Die Entsperrung erfolgt in zwei Schritten (unlock
und unlock_critical
), wobei für die Installation von iodéOS nur der erste der beiden Schritte notwendig ist.
⚠️ ACHTUNG ⚠️
Während diesem Schritt wird dein Fairphone 5 auf Werkseinstellungen zurückgesetzt. Das bedeutet einen Totalverlust aller Daten. Stelle sicher, dass du von wichtigen Daten ein Backup auf einem externen Medium hast, falls du das Fairphone 5 bereits genutzt haben solltest.
Stufe 1 – unlock
Gib nun auf deinem PC folgenden Befehl ein, um den Bootloader zu entsperren:
fastboot flashing unlock
Bestätige die folgende Abfrage mit [Lautstärke nach oben]
(wählt den Eintrag aus und färbt ihn blau ein) und [Power]
(führt die gewählte Option aus).
Das Gerät schaltet sich daraufhin ab und startet neu.
Als Nächstes erscheint der folgende Bildschirm, der ab sofort bei jedem Neustart erscheinen wird, solange der Bootloader entsperrt ist. Nach kurzer Wartezeit verschwindet er von selbst, du kannst ihn aber auch mit zweimaligem Druck auf [Power]
bestätigen.
Nun erscheint "Erasing..." auf dem Bildschirm, und das Fairphone 5 startet anschließend neu.
Wenn du schnell bist, kannst du direkt während der Anzeige "Erasing..." die [Lautstärke nach unten]
-Taste gedrückt halten, bis das Fairphone-Logo erscheint, um gleich danach wieder in den Bootloader-Modus zu wechseln. Sollte das nicht klappen, startet das Gerät nach dem Reset auf Werkseinstellungen einmal komplett durch. Zieh dann nach dem Start des Fairphone 5 das USB-Kabel ab und schalte das Gerät aus, indem du lange auf der [Power]-Taste bleibst und "Power Off" wählst.
Halte nun bei abgestecktem USB-Kabel die [Lautstärke nach unten]
gedrückt und schließe das USB-Kabel erneut an, um wieder in den Bootloader-Modus zu gelangen. Alternativ kannst du bei ausgeschalteten Gerät und ohne angeschlossenes USB-Kabel auch die Tastenkombination [Lautstärke nach unten]
und [Power]
gedrückt halten, bis das Fairphone-Logo erscheint.
Wenn alles geklappt hat, erscheint folgender Inhalt auf deinem Fairphone 5 und wir befinden uns erneut im Bootloader-Modus. Die Angabe bei 1 (DEVICE STATE - unlocked
) bestätigt uns, dass sich der Bootloader nun im ENTsperrten Zustand befindet.
Wenn du iodéOS installieren möchtest, kannst du nun direkt mit der Installation des Systems fortfahren und in diesem Abschnitt weiterlesen. Für murenaOS bzw. /e/OS müssen wir noch einen weiteren Teil des Bootloaders entsperren.
Stufe 2 – unlock_critical
Gib nun auf deinem PC folgenden Befehl ein, um den zweiten Teil des Bootloaders zu entsperren:
fastboot flashing unlock_critical
Bestätige die folgende Abfrage wieder mit [Lautstärke nach oben]
(wählt den Eintrag aus und färbt ihn blau ein) und [Power]
(führt die gewählte Option aus).
Das Gerät schaltet sich daraufhin erneut ab und startet neu.
Als Nächstes erscheint wieder der folgende Bildschirm, der ab sofort bei jedem Neustart erscheinen wird, solange der Bootloader entsperrt ist. Nach kurzer Wartezeit verschwindet er von selbst, du kannst ihn aber auch mit zweimaligem Druck auf [Power]
bestätigen.
Nun erscheint erneut "Erasing..." auf dem Bildschirm, und das Fairphone 5 startet neu.
Wenn du schnell bist, kannst du direkt während der Anzeige "Erasing..." die [Lautstärke nach unten]
-Taste gedrückt halten, bis das Fairphone-Logo erscheint, um gleich danach wieder in den Bootloader-Modus zu wechseln. Sollte das nicht klappen, startet das Gerät nach dem Reset auf Werkseinstellungen einmal komplett durch. Zieh dann nach dem Start des Fairphone 5 das USB-Kabel ab und schalte das Gerät aus, indem du lange auf der [Power]-Taste bleibst und "Power Off" wählst.
Halte nun bei abgestecktem USB-Kabel die [Lautstärke nach unten]
gedrückt und schließe das USB-Kabel erneut an, um wieder in den Bootloader-Modus zu gelangen. Alternativ kannst du bei ausgeschalteten Gerät und ohne angeschlossenes USB-Kabel auch die Tastenkombination [Lautstärke nach unten]
und [Power]
gedrückt halten, bis das Fairphone-Logo erscheint.
Wenn alles geklappt hat, erscheint folgender Inhalt auf deinem Fairphone 5 und wir befinden uns erneut im Bootloader-Modus. Die Angabe bei 1 (DEVICE STATE - unlocked
) bestätigt uns, dass sich der Bootloader nun im ENTsperrten Zustand befindet.
Nun kannst du hier mit der Installation von murenaOS bzw. /e/OS fortfahren.
Abfrage der entsperrten Teile des Bootloaders
Mit folgendem Befehl kannst du im Bootloader-Modus jederzeit abfragen, welche Teile des Bootloaders entsperrt sind:
fastboot oem device-info
(bootloader) Verity mode: true
(bootloader) Device unlocked: true
(bootloader) Device critical unlocked: true
(bootloader) Charger screen enabled: true
OKAY [ 0.001s]
Finished. Total time: 0.001s
Installation eines Google-freien Android-Systems
Für welches der beiden Systeme (murenaOS bzw. /e/OS oder iodéOS) du dich entscheidest, ist reine Geschmacksache. Beide Systeme funktionieren gut, werden gepflegt und sind vertrauenswürdig.
Installation von murenaOS bzw. /e/OS
Wirf vorab gerne einen Blick in die vollständige Installationsanleitung auf Englisch, um alle Schritte in einer Übersicht zu sehen. Einen Blick in den offiziellen Bugtracker schadet ebenfalls nicht. Sollte es Bugs oder Probleme geben, findest du diese evtl. dort bereits beschrieben und unter Umständen auch schon eine Lösung dafür.
⚠️ ACHTUNG ⚠️ – Anti-Rollback-Funktion
Hier kommt jetzt das Datum ins Spiel, was du dir bei "Android-Sicherheitsupdate-Stand" notiert hast.
Es gibt in Android eine sog. Anti-Rollback-Funktion, die dafür sorgt, dass das Gerät nach dem Flashen mit einer Android-Version, die einen älteren Android-Sicherheitsupdate-Stand hat, als die zuletzt installierte Version (bei gesperrtem Bootloader), unbrauchbar wird. Wurde dein Fairphone 5 durch einen derartigen Flashvorgang "gebrickt", darf es ebenfalls eine Reise nach Frankreich antreten.
Das gilt allerdings ausschließlich für den Fall, dass der Bootloader gesperrt ist. Andernfalls wird die Angabe ignoriert – zumindest solange, bis der Bootloader wieder gesperrt wird. In meinem "Anti-Brick-Diagramm" für das Fairphone 5 sind alle möglichen Konstellationen aufgeführt, mit denen du dein Fairphone "bricken" würdest. Ist sicher einen Blick wert, bevor du mit dem Flashen beginnst 😉
Falls du deinen Bootloader nach der Installation sperren möchtest, MUSS die Android-Version von murenaOS bzw. /e/OS den gleichen oder einen höheren Android-Sicherheitsupdate-Stand aufweisen, als das Android, was zum jetzigen Zeitpunkt installiert ist. Siehe auch die rote Box am Ende der Passage "Requirements" (Englisch).
🔋Stelle zunächst sicher, dass dein Akku zu mind. 50% aufgeladen ist.
⏬ Lade dir anschließend das aktuellste bzw. passende /e/OS-Image von dieser Seite herunter und beachte beim Download den "Android-Sicherheitsupdate-Stand", auch "Security Patch" genannt, wie zuvor im roten Kasten erläutert: /e/ ROM latest stable build downloads
✅ Verifiziere die Prüfsumme der heruntergeladenen Datei und entpacke sie, sofern die Prüfsumme korrekt war.
📦️ Navigiere nach dem Entpacken in den neu erstellten Ordner, gib der Datei flash_FP5_factory.sh
mit folgendem Befehl die Berechtigung zur Ausführung und starte die Installation (das Fairphone 5 befindet sich währenddessen weiterhin im Bootloader-Modus und ist per USB-Kabel angeschlossen):
chmod +x flash_FP5_factory.sh && ./flash_FP5_factory.sh
⚠️ WARNUNG ⚠️
Wenn der Flashvorgang ungeplant unterbrochen wird oder sich anderweitig aufhängt, das Fairphone 5 aber im Bootloader-Modus noch ansprechbar ist (Lautstärke-Tasten verändern die Menüauswahl am oberen Rand), NIEMALS das Gerät neu starten oder "Restart bootloader" wählen. Die Warscheinlichkeit ist sehr hoch, dass du anschließend nicht im Bootloader-Modus, sondern im sog. EDL-Modus endest. Das bedeutet, dein Gerät ist gebrickt, der Bildschirm bleibt schwarz und das Fairphone 5 darf die Reise nach Frankreich antreten (hier spreche ich leider aus Erfahrung 😅).
Die Ausgabe bzw. Installation sieht dann wie folgt aus:
*** Fairphone 5 flashing script ***
INFO: The procedure will start soon. Please wait...
Note that this will detect and flash only on Fairphone 5 device.
INFO: You are using a Linux distribution.
INFO: Looking for connected device(s)...
INFO: One Fairphone 5 in fastboot mode found (serial number: XXXXXXXX).
Sending 'bluetooth_a' (508 KB) OKAY [ 0.015s]
Writing 'bluetooth_a' OKAY [ 0.002s]
Finished. Total time: 0.029s
Sending 'bluetooth_b' (508 KB) OKAY [ 0.014s]
Writing 'bluetooth_b' OKAY [ 0.003s]
Finished. Total time: 0.024s
Sending 'devcfg_a' (51 KB) OKAY [ 0.002s]
Writing 'devcfg_a' OKAY [ 0.001s]
Finished. Total time: 0.010s
Sending 'devcfg_b' (51 KB) OKAY [ 0.002s]
Writing 'devcfg_b' OKAY [ 0.004s]
Finished. Total time: 0.012s
Sending 'dsp_a' (65536 KB) OKAY [ 1.965s]
Writing 'dsp_a' OKAY [ 0.108s]
Finished. Total time: 2.079s
Sending 'dsp_b' (65536 KB) OKAY [ 1.970s]
Writing 'dsp_b' OKAY [ 0.100s]
Finished. Total time: 2.076s
Sending 'modem_a' (175660 KB) OKAY [ 5.067s]
Writing 'modem_a' OKAY [ 0.561s]
Finished. Total time: 5.636s
Sending 'modem_b' (175660 KB) OKAY [ 5.758s]
Writing 'modem_b' OKAY [ 0.683s]
Finished. Total time: 6.459s
Sending 'xbl_a' (3601 KB) OKAY [ 0.100s]
Writing 'xbl_a' OKAY [ 0.015s]
Finished. Total time: 0.121s
Sending 'xbl_b' (3601 KB) OKAY [ 0.102s]
Writing 'xbl_b' OKAY [ 0.012s]
Finished. Total time: 0.120s
Sending 'tz_a' (3585 KB) OKAY [ 0.103s]
Writing 'tz_a' OKAY [ 0.008s]
Finished. Total time: 0.118s
Sending 'tz_b' (3585 KB) OKAY [ 0.104s]
Writing 'tz_b' OKAY [ 0.016s]
Finished. Total time: 0.126s
Sending 'hyp_a' (3597 KB) OKAY [ 0.106s]
Writing 'hyp_a' OKAY [ 0.014s]
Finished. Total time: 0.128s
Sending 'hyp_b' (3597 KB) OKAY [ 0.125s]
Writing 'hyp_b' OKAY [ 0.015s]
Finished. Total time: 0.146s
Sending 'keymaster_a' (261 KB) OKAY [ 0.008s]
Writing 'keymaster_a' OKAY [ 0.002s]
Finished. Total time: 0.018s
Sending 'keymaster_b' (261 KB) OKAY [ 0.007s]
Writing 'keymaster_b' OKAY [ 0.003s]
Finished. Total time: 0.017s
Sending 'abl_a' (152 KB) OKAY [ 0.005s]
Writing 'abl_a' OKAY [ 0.001s]
Finished. Total time: 0.012s
Sending 'abl_b' (152 KB) OKAY [ 0.005s]
Writing 'abl_b' OKAY [ 0.002s]
Finished. Total time: 0.012s
Sending 'boot_a' (98304 KB) OKAY [ 2.830s]
Writing 'boot_a' OKAY [ 0.413s]
Finished. Total time: 3.251s
Sending 'boot_b' (98304 KB) OKAY [ 3.173s]
Writing 'boot_b' OKAY [ 0.336s]
Finished. Total time: 3.518s
Sending 'dtbo_a' (24576 KB) OKAY [ 0.742s]
Writing 'dtbo_a' OKAY [ 0.185s]
Finished. Total time: 0.935s
Sending 'dtbo_b' (24576 KB) OKAY [ 0.739s]
Writing 'dtbo_b' OKAY [ 0.155s]
Finished. Total time: 0.902s
Sending 'vendor_boot_a' (98304 KB) OKAY [ 3.502s]
Writing 'vendor_boot_a' OKAY [ 0.572s]
Finished. Total time: 4.080s
Sending 'vendor_boot_b' (98304 KB) OKAY [ 3.851s]
Writing 'vendor_boot_b' OKAY [ 0.395s]
Finished. Total time: 4.252s
Sending 'vbmeta_system_a' (4 KB) OKAY [ 0.001s]
Writing 'vbmeta_system_a' OKAY [ 0.001s]
Finished. Total time: 0.009s
Sending 'vbmeta_system_b' (4 KB) OKAY [ 0.001s]
Writing 'vbmeta_system_b' OKAY [ 0.001s]
Finished. Total time: 0.009s
Sending 'vbmeta_a' (8 KB) OKAY [ 0.001s]
Writing 'vbmeta_a' OKAY [ 0.001s]
Finished. Total time: 0.008s
Sending 'vbmeta_b' (8 KB) OKAY [ 0.001s]
Writing 'vbmeta_b' OKAY [ 0.001s]
Finished. Total time: 0.009s
Sending sparse 'super' 1/5 (776885 KB) OKAY [ 23.393s]
Writing 'super' OKAY [ 0.003s]
Sending sparse 'super' 2/5 (773630 KB) OKAY [ 28.635s]
Writing 'super' OKAY [ 0.009s]
Sending sparse 'super' 3/5 (785673 KB) OKAY [ 22.736s]
Writing 'super' OKAY [ 0.000s]
Sending sparse 'super' 4/5 (745105 KB) OKAY [ 21.824s]
Writing 'super' OKAY [ 0.007s]
Sending sparse 'super' 5/5 (447996 KB) OKAY [ 16.794s]
Writing 'super' OKAY [ 0.861s]
Finished. Total time: 114.522s
Sending 'aop_a' (203 KB) OKAY [ 3.560s]
Writing 'aop_a' OKAY [ 9.426s]
Finished. Total time: 14.342s
Sending 'aop_b' (203 KB) OKAY [ 0.009s]
Writing 'aop_b' OKAY [ 0.002s]
Finished. Total time: 0.017s
Sending 'featenabler_a' (84 KB) OKAY [ 0.003s]
Writing 'featenabler_a' OKAY [ 0.001s]
Finished. Total time: 0.017s
Sending 'featenabler_b' (84 KB) OKAY [ 0.003s]
Writing 'featenabler_b' OKAY [ 0.001s]
Finished. Total time: 0.011s
Sending 'imagefv_a' (76 KB) OKAY [ 0.003s]
Writing 'imagefv_a' OKAY [ 0.001s]
Finished. Total time: 0.011s
Sending 'imagefv_b' (76 KB) OKAY [ 0.003s]
Writing 'imagefv_b' OKAY [ 0.001s]
Finished. Total time: 0.010s
Sending 'multiimgoem_a' (13 KB) OKAY [ 0.001s]
Writing 'multiimgoem_a' OKAY [ 0.001s]
Finished. Total time: 0.009s
Sending 'multiimgoem_b' (13 KB) OKAY [ 0.001s]
Writing 'multiimgoem_b' OKAY [ 0.001s]
Finished. Total time: 0.009s
Sending 'qupfw_a' (55 KB) OKAY [ 0.002s]
Writing 'qupfw_a' OKAY [ 0.001s]
Finished. Total time: 0.010s
Sending 'qupfw_b' (55 KB) OKAY [ 0.002s]
Writing 'qupfw_b' OKAY [ 0.001s]
Finished. Total time: 0.010s
Sending 'uefisecapp_a' (121 KB) OKAY [ 0.004s]
Writing 'uefisecapp_a' OKAY [ 0.001s]
Finished. Total time: 0.012s
Sending 'uefisecapp_b' (121 KB) OKAY [ 0.004s]
Writing 'uefisecapp_b' OKAY [ 0.001s]
Finished. Total time: 0.014s
Sending 'xbl_config_a' (220 KB) OKAY [ 0.007s]
Writing 'xbl_config_a' OKAY [ 0.010s]
Finished. Total time: 0.024s
Sending 'xbl_config_b' (220 KB) OKAY [ 0.006s]
Writing 'xbl_config_b' OKAY [ 0.004s]
Finished. Total time: 0.017s
Sending 'cpucp_a' (182 KB) OKAY [ 0.006s]
Writing 'cpucp_a' OKAY [ 0.002s]
Finished. Total time: 0.014s
Sending 'cpucp_b' (182 KB) OKAY [ 0.007s]
Writing 'cpucp_b' OKAY [ 0.002s]
Finished. Total time: 0.023s
Sending 'shrm_a' (44 KB) OKAY [ 0.002s]
Writing 'shrm_a' OKAY [ 0.001s]
Finished. Total time: 0.010s
Sending 'shrm_b' (44 KB) OKAY [ 0.002s]
Writing 'shrm_b' OKAY [ 0.001s]
Finished. Total time: 0.010s
******** Did you mean to fastboot format this f2fs partition?
Erasing 'userdata' OKAY [ 0.032s]
Finished. Total time: 0.036s
******** Did you mean to fastboot format this ext4 partition?
Erasing 'metadata' OKAY [ 0.001s]
Finished. Total time: 0.006s
Setting current slot to 'a' OKAY [ 0.009s]
Finished. Total time: 0.011s
-----------
INFO: Done. The device will reboot now.
Rebooting OKAY [ 0.000s]
Finished. Total time: 0.150s
INFO: You can unplug the USB cable now.
Gratuliere, dein Fairphone 5 sollte jetzt mit dem Google-freien Android-Betriebssystem murenaOS bzw. /e/OS starten. 🎉
Nach einem erfolgreichen ersten Start bleibt die Option "OEM-Entsperrung" in den Entwickleroptionen weiterhin aktiviert. Das bedeutet, dass du – solange du diese Option nicht selbst abschaltest – den Bootloader jederzeit wieder entsperren könntest. Das Sperren des Bootloaders direkt nach dem Flashen von murenaOS bzw. /e/OS wäre also gefahrlos möglich, solange sichergestellt ist, dass das System korrekt hochfährt.
Lies dazu sorgfältig den Abschnitt "Bootloader erneut sperren". Und falls du dein Gerät anschließend rooten möchtest, beachte den folgenden Hinweis und lies anschließend bei "Rooten" weiter.
Hinweis zum Sperren des Bootloaders in Kombination mit Root
Das Sperren des Bootloaders und Root schließen sich kategorisch aus. Solltest du dein Gerät also im Anschluss mit dieser Anleitung rooten wollen, ist ein Sperren des Bootloaders nicht möglich, ohne dein Fairphone 5 zu "bricken".
Installation von iodéOS
Wirf vorab gerne einen Blick in die vollständige Installationsanleitung auf Englisch, um alle Schritte in einer Übersicht zu sehen. Einen Blick in den offiziellen Bugtracker schadet ebenfalls nicht. Sollte es Bugs oder Probleme geben, findest du diese evtl. dort bereits beschrieben und unter Umständen auch schon eine Lösung dafür.
Für den Flash-Vorgang werden alle nötigen Programme direkt mitgeliefert. Du brauchst fastboot
also nicht installieren.
⚠️ ACHTUNG ⚠️ – Anti-Rollback-Funktion
Hier kommt jetzt das Datum ins Spiel, was du dir bei "Android-Sicherheitsupdate-Stand" notiert hast.
Es gibt in Android eine sog. Anti-Rollback-Funktion, die dafür sorgt, dass das Gerät nach dem Flashen mit einer Android-Version, die einen älteren Android-Sicherheitsupdate-Stand hat, als die zuletzt installierte Version (bei gesperrtem Bootloader), unbrauchbar wird. Wurde dein Fairphone 5 durch einen derartigen Flashvorgang "gebrickt", darf es ebenfalls eine Reise nach Frankreich antreten.
Das gilt allerdings ausschließlich für den Fall, dass der Bootloader gesperrt ist. Andernfalls wird die Angabe ignoriert – zumindest solange, bis der Bootloader wieder gesperrt wird. In meinem "Anti-Brick-Diagramm" für das Fairphone 5 sind alle möglichen Konstellationen aufgeführt, mit denen du dein Fairphone "bricken" würdest. Ist sicher einen Blick wert, bevor du mit dem Flashen beginnst 😉
Falls du deinen Bootloader nach der Installation sperren möchtest, MUSS die Android-Version von iodéOS den gleichen oder einen höheren Android-Sicherheitsupdate-Stand aufweisen, als das Android, was zum jetzigen Zeitpunkt installiert ist. Siehe hierzu die rote Box am Ende der Passage "Requirements" (Englisch) zur Installation von murenaOS bzw. /e/OS.
🔋 Stelle zunächst sicher, dass dein Akku zu mind. 50% aufgeladen ist.
⏬ Lade dir anschließend das aktuellste bzw. passende iodéOS-Image von dieser Seite herunter: iodéOS 5.x for Fairphone 5 oder iodéOS 4.x for Fairphone 5
Beachte dabei den "Android-Sicherheitsupdate-Stand", auch "Security Patch" genannt, wie zuvor im roten Kasten erläutert. Dieser entspricht in etwa der Datumsangabe hinter der Versionsnummer.
Hinweis
Alternativ kannst du iodéOS auch über den automatisierten Installer für Linux / Windows installieren. Diesen Weg habe ich allerdings nicht getestet.
✅ Verifiziere die Prüfsumme der heruntergeladenen Datei und entpacke sie, sofern die Prüfsumme korrekt war.
📦️ Navigiere nach dem Entpacken in den neu erstellten Ordner, gib der Datei flash-all.sh
mit folgendem Befehl die Berechtigung zur Ausführung und starte die Installation (das Fairphone 5 befindet sich währenddessen weiterhin im Bootloader-Modus und ist per USB-Kabel angeschlossen):
chmod +x flash-all.sh && ./flash-all.sh
⚠️ WARNUNG ⚠️
Wenn der Flashvorgang ungeplant unterbrochen wird oder sich anderweitig aufhängt, das Fairphone 5 aber im Bootloader-Modus noch ansprechbar ist (Lautstärke-Tasten verändern die Menüauswahl am oberen Rand), NIEMALS das Gerät neu starten oder "Restart bootloader" wählen. Die Warscheinlichkeit ist sehr hoch, dass du anschließend nicht im Bootloader-Modus, sondern im sog. EDL-Modus endest. Das bedeutet, dein Gerät ist gebrickt, der Bildschirm bleibt schwarz und das Fairphone 5 darf die Reise nach Frankreich antreten (hier spreche ich leider aus Erfahrung 😅).
Die Ausgabe bzw. Installation sieht dann wie folgt aus:
Erasing 'avb_custom_key' OKAY [ 0.008s]
Finished. Total time: 0.015s
Sending 'avb_custom_key' (1 KB) OKAY [ 0.002s]
Writing 'avb_custom_key' OKAY [ 0.007s]
Finished. Total time: 0.016s
mke2fs 1.46.2 (28-Feb-2021)
Creating filesystem with 4096 4k blocks and 4096 inodes
Allocating group tables: done
Writing inode tables: done
Creating journal (1024 blocks): done
Writing superblocks and filesystem accounting information: done
Sending 'metadata' (44 KB) OKAY [ 0.003s]
Writing 'metadata' OKAY [ 0.014s]
Finished. Total time: 0.034s
F2FS-tools: mkfs.f2fs Ver: 1.14.0 (2020-08-24)
Info: Disable heap-based policy
Info: Debug level = 1
Info: Trim is disabled
Info: Set conf for android
Info: Enable Project quota
Info: not exist /proc/version!
Info: Segments per section = 1
Info: Sections per zone = 1
Info: sector size = 512
Info: total sectors = 448795544 (219138 MB)
Info: zone aligned segment0 blkaddr: 512
Info: add quota type = 0 => 4
Info: add quota type = 1 => 5
Info: add quota type = 2 => 6
Info: format version with
"6.1.71-1-LINUX"
[f2fs_init_sit_area: 626] Filling sit area at offset 0x00600000
[f2fs_init_nat_area: 660] Filling nat area at offset 0x01600000
[f2fs_write_root_inode:1274] Writing root inode (hot node), 2a200 0 200 at offset 0x00172544
[f2fs_write_default_quota:1350] Writing quota data, at offset 0002a801, 0002a802
[f2fs_write_qf_inode:1407] Writing quota inode (hot node), 2a200 0 200 at offset 0x00172545
[f2fs_write_default_quota:1350] Writing quota data, at offset 0002a803, 0002a804
[f2fs_write_qf_inode:1407] Writing quota inode (hot node), 2a200 0 200 at offset 0x00172546
[f2fs_write_default_quota:1350] Writing quota data, at offset 0002a805, 0002a806
[f2fs_write_qf_inode:1407] Writing quota inode (hot node), 2a200 0 200 at offset 0x00172547
[f2fs_update_nat_root:1461] Writing nat root, at offset 0x00001600
[f2fs_add_default_dentry_root:1658] Writing default dentry root, at offset 0x0002a800
Info: Overprovision ratio = 0.430%
Info: Overprovision segments = 940 (GC reserved = 473)
[f2fs_write_check_point_pack: 819] Writing main segments, cp at offset 0x00000200
[f2fs_write_check_point_pack: 975] Writing Segment summary for HOT/WARM/COLD_DATA, at offset 0x00000201
[f2fs_write_check_point_pack:1002] Writing Segment summary for HOT_NODE, at offset 0x00000202
[f2fs_write_check_point_pack:1014] Writing Segment summary for WARM_NODE, at offset 0x00000203
[f2fs_write_check_point_pack:1025] Writing Segment summary for COLD_NODE, at offset 0x00000204
[f2fs_write_check_point_pack:1033] Writing cp page2, at offset 0x00000205
[f2fs_write_check_point_pack:1053] Writing NAT bits pages, at offset 0x000003fe
[f2fs_write_check_point_pack:1074] Writing cp page 1 of checkpoint pack 2, at offset 0x00000400
[f2fs_write_check_point_pack:1093] Writing cp page 2 of checkpoint pack 2, at offset 0x00000405
[f2fs_write_super_block:1126] Writing super block, at offset 0x00000000
Info: format successful
Sending 'userdata' (97 KB) OKAY [ 0.005s]
Writing 'userdata' OKAY [ 0.011s]
Finished. Total time: 0.135s
Sending 'modem_a' (175660 KB) OKAY [ 5.996s]
Writing 'modem_a' OKAY [ 0.522s]
Finished. Total time: 7.600s
--------------------------------------------
Bootloader Version...: FP5.TT3M.A.109.20230928
Baseband Version.....: 13
Serial Number........: XXXXXXXX
--------------------------------------------
extracting android-info.txt (0 MB) to RAM...
Checking 'product' OKAY [ 0.002s]
Setting current slot to 'a' OKAY [ 0.007s]
extracting boot.img (96 MB) to disk... took 0.246s
archive does not contain 'boot.sig'
Sending 'boot_a' (98304 KB) OKAY [ 3.321s]
Writing 'boot_a' OKAY [ 0.422s]
archive does not contain 'init_boot.img'
extracting dtbo.img (24 MB) to disk... took 0.044s
archive does not contain 'dtbo.sig'
Sending 'dtbo' (24576 KB) OKAY [ 0.824s]
Writing 'dtbo' OKAY [ 0.130s]
archive does not contain 'dt.img'
archive does not contain 'pvmfw.img'
archive does not contain 'recovery.img'
extracting vbmeta.img (0 MB) to disk... took 0.000s
archive does not contain 'vbmeta.sig'
Sending 'vbmeta' (8 KB) OKAY [ 0.001s]
Writing 'vbmeta' OKAY [ 0.001s]
extracting vbmeta_system.img (0 MB) to disk... took 0.000s
archive does not contain 'vbmeta_system.sig'
Sending 'vbmeta_system' (4 KB) OKAY [ 0.001s]
Writing 'vbmeta_system' OKAY [ 0.001s]
archive does not contain 'vbmeta_vendor.img'
extracting vendor_boot.img (96 MB) to disk... took 0.173s
archive does not contain 'vendor_boot.sig'
Sending 'vendor_boot' (98304 KB) OKAY [ 3.356s]
Writing 'vendor_boot' OKAY [ 0.412s]
archive does not contain 'vendor_kernel_boot.img'
extracting super_empty.img (0 MB) to disk... took 0.000s
Rebooting into fastboot OKAY [ 0.002s]
< waiting for any device >
Sending 'super' (4 KB) OKAY [ 0.001s]
Updating super partition OKAY [ 0.015s]
Resizing 'odm_a' OKAY [ 0.004s]
Resizing 'product_a' OKAY [ 0.004s]
Resizing 'system_a' OKAY [ 0.004s]
Resizing 'system_ext_a' OKAY [ 0.004s]
Resizing 'system_b' OKAY [ 0.004s]
Resizing 'vendor_a' OKAY [ 0.004s]
Resizing 'vendor_b' OKAY [ 0.004s]
archive does not contain 'boot_other.img'
extracting odm.img (4 MB) to disk... took 0.014s
archive does not contain 'odm.sig'
Resizing 'odm_a' OKAY [ 0.004s]
Sending 'odm_a' (4808 KB) OKAY [ 0.172s]
Writing 'odm_a' OKAY [ 0.095s]
archive does not contain 'odm_dlkm.img'
extracting product.img (1068 MB) to disk... took 3.696s
archive does not contain 'product.sig'
Resizing 'product_a' OKAY [ 0.005s]
Sending sparse 'product_a' 1/5 (262140 KB) OKAY [ 9.113s]
Writing 'product_a' OKAY [ 0.556s]
Sending sparse 'product_a' 2/5 (262140 KB) OKAY [ 9.008s]
Writing 'product_a' OKAY [ 0.484s]
Sending sparse 'product_a' 3/5 (262140 KB) OKAY [ 9.122s]
Writing 'product_a' OKAY [ 0.525s]
Sending sparse 'product_a' 4/5 (262140 KB) OKAY [ 9.025s]
Writing 'product_a' OKAY [ 0.592s]
Sending sparse 'product_a' 5/5 (45216 KB) OKAY [ 1.587s]
Writing 'product_a' OKAY [ 0.236s]
extracting system.img (882 MB) to disk... took 3.107s
archive does not contain 'system.sig'
Resizing 'system_a' OKAY [ 0.005s]
Sending sparse 'system_a' 1/4 (262140 KB) OKAY [ 8.972s]
Writing 'system_a' OKAY [ 0.569s]
Sending sparse 'system_a' 2/4 (262140 KB) OKAY [ 9.093s]
Writing 'system_a' OKAY [ 0.587s]
Sending sparse 'system_a' 3/4 (262140 KB) OKAY [ 8.815s]
Writing 'system_a' OKAY [ 0.577s]
Sending sparse 'system_a' 4/4 (117356 KB) OKAY [ 4.031s]
Writing 'system_a' OKAY [ 0.353s]
archive does not contain 'system_dlkm.img'
extracting system_ext.img (396 MB) to disk... took 1.346s
archive does not contain 'system_ext.sig'
Resizing 'system_ext_a' OKAY [ 0.004s]
Sending sparse 'system_ext_a' 1/2 (262140 KB) OKAY [ 8.981s]
Writing 'system_ext_a' OKAY [ 0.569s]
Sending sparse 'system_ext_a' 2/2 (143760 KB) OKAY [ 4.934s]
Writing 'system_ext_a' OKAY [ 0.394s]
archive does not contain 'system_other.img'
extracting vendor.img (958 MB) to disk... took 3.122s
archive does not contain 'vendor.sig'
Resizing 'vendor_a' OKAY [ 0.005s]
Sending sparse 'vendor_a' 1/4 (262140 KB) OKAY [ 8.947s]
Writing 'vendor_a' OKAY [ 0.584s]
Sending sparse 'vendor_a' 2/4 (262140 KB) OKAY [ 8.637s]
Writing 'vendor_a' OKAY [ 0.576s]
Sending sparse 'vendor_a' 3/4 (262140 KB) OKAY [ 9.145s]
Writing 'vendor_a' OKAY [ 0.571s]
Sending sparse 'vendor_a' 4/4 (195288 KB) OKAY [ 6.499s]
Writing 'vendor_a' OKAY [ 0.477s]
archive does not contain 'vendor_dlkm.img'
archive does not contain 'vendor_other.img'
Finished. Total time: 161.910s
Sending 'abl_a' (152 KB) OKAY [ 0.006s]
Writing 'abl_a' OKAY [ 0.004s]
Finished. Total time: 0.018s
Sending 'aop_a' (203 KB) OKAY [ 0.007s]
Writing 'aop_a' OKAY [ 0.006s]
Finished. Total time: 0.018s
Sending 'bluetooth_a' (508 KB) OKAY [ 0.018s]
Writing 'bluetooth_a' OKAY [ 0.006s]
Finished. Total time: 0.029s
Sending 'cpucp_a' (182 KB) OKAY [ 0.007s]
Writing 'cpucp_a' OKAY [ 0.006s]
Finished. Total time: 0.016s
Sending 'devcfg_a' (51 KB) OKAY [ 0.002s]
Writing 'devcfg_a' OKAY [ 0.004s]
Finished. Total time: 0.010s
Sending 'dsp_a' (65536 KB) OKAY [ 2.218s]
Writing 'dsp_a' OKAY [ 0.159s]
Finished. Total time: 2.380s
Sending 'featenabler_a' (84 KB) OKAY [ 0.003s]
Writing 'featenabler_a' OKAY [ 0.004s]
Finished. Total time: 0.012s
Sending 'hyp_a' (3597 KB) OKAY [ 0.134s]
Writing 'hyp_a' OKAY [ 0.025s]
Finished. Total time: 0.164s
Sending 'imagefv_a' (76 KB) OKAY [ 0.003s]
Writing 'imagefv_a' OKAY [ 0.003s]
Finished. Total time: 0.011s
Sending 'keymaster_a' (261 KB) OKAY [ 0.007s]
Writing 'keymaster_a' OKAY [ 0.006s]
Finished. Total time: 0.018s
Sending 'multiimgoem_a' (13 KB) OKAY [ 0.001s]
Writing 'multiimgoem_a' OKAY [ 0.003s]
Finished. Total time: 0.008s
Sending 'qupfw_a' (55 KB) OKAY [ 0.002s]
Writing 'qupfw_a' OKAY [ 0.003s]
Finished. Total time: 0.011s
Sending 'shrm_a' (44 KB) OKAY [ 0.002s]
Writing 'shrm_a' OKAY [ 0.003s]
Finished. Total time: 0.009s
Sending 'tz_a' (3585 KB) OKAY [ 0.128s]
Writing 'tz_a' OKAY [ 0.025s]
Finished. Total time: 0.157s
Sending 'uefisecapp_a' (121 KB) OKAY [ 0.005s]
Writing 'uefisecapp_a' OKAY [ 0.007s]
Finished. Total time: 0.016s
Sending 'xbl_config_a' (220 KB) OKAY [ 0.008s]
Writing 'xbl_config_a' OKAY [ 0.010s]
Finished. Total time: 0.022s
Sending 'xbl_a' (3601 KB) OKAY [ 0.130s]
Writing 'xbl_a' OKAY [ 0.032s]
Finished. Total time: 0.165s
Rebooting into bootloader OKAY [ 0.001s]
Finished. Total time: 0.051s
OKAY [ 0.026s]
Finished. Total time: 0.026s
Hinweis
Während des Flash-Vorgangs erscheint ein "neuer" "FASTBOOTD-Bildschirm" auf dem Smartphone. Das ist kein Grund zur Sorge.
Auch kann in den Log-Ausgaben der Buchstabe a oder b variieren. Dieser unterscheidet den Boot-Slot auf dem Gerät. Wenn zuvor z.B. murenaOS bzw. /e/OS auf dem Gerät installiert war, ist Slot a bereits belegt und iodéOS wird in Slot b installiert. Kann Slot b anschließend nicht gebootet werden, wird alternativ der Bootvorgang von Slot a versucht.
Nach der Installation von iodéOS öffnet sich automatisch folgende Abfrage zum Sperren des Bootloaders:
Ich rate dir, hier vorerst "DO NOT LOCK THE BOOTLOADER" zu wählen, wenn du dir der Konsequenzen noch nicht bewusst bist oder du das Gerät anschließend rooten möchtest. Lies dazu den Abschnitt "Bootloader erneut sperren" sorgfältig durch.
Gratuliere, dein Fairphone 5 sollte anschließend mit dem Google-freien Android-Betriebssystem iodéOS starten. 🎉
Nach einem erfolgreichen ersten Start bleibt die Option "OEM-Entsperrung" in den "Entwickleroptionen" weiterhin aktiviert. Das bedeutet, dass du – solange du diese Option nicht abschaltest – den Bootloader jederzeit wieder entsperren könntest. Das Sperren des Bootloaders direkt nach dem Flashen von iodéOS wäre also gefahrlos möglich, solange sichergestellt ist, dass das System korrekt hochfährt.
Lies dazu sorgfältig den Abschnitt "Bootloader erneut sperren". Und falls du dein Gerät anschließend rooten möchtest, beachte den folgenden Hinweis und lies anschließend bei "Rooten" weiter.
Hinweis zum Sperren des Bootloaders in Kombination mit Root
Das Sperren des Bootloaders und Root schließen sich kategorisch aus. Solltest du dein Gerät also im Anschluss mit dieser Anleitung rooten wollen, ist ein Sperren des Bootloaders nicht möglich, ohne dein Fairphone 5 zu "bricken".
Weitere Systeme für das FP5
Es ist warscheinlich, dass mit der Zeit noch weitere (Google-freie) Betriebssysteme für das Fairphone 5 erscheinen. Im Forum von Fairphone findest du einen Thread, der alle bisher bekannten Systeme auflistet: Operating Systems for Fairphones | Fairphone 5
Bootloader erneut sperren
⚠️ SEHR SEHR SEHR WICHTIG ⚠️
Solltest du den Bootloader wieder sperren wollen, solltest du nach einem Flashvorgang eines neuen Betriebssystems nicht erst in Android booten und den Bootloader anschließend sperren, ohne zuvor den Parameter get_unlock_ability
geprüft zu haben. Denn wurde dieser von 1 auf 0 zurückgesetzt und du sperrst den Bootloader, musst du das gesamte Prozedere "Bootloader-Entsperrung erlauben" erneut durchlaufen.
Wenn das nicht möglich ist, z.B. weil dein System nicht (mehr) erfolgreich bootet oder es andere Probleme gibt, ist dein Fairphone 5 "gebrickt" und darf eine Reise nach Frankreich antreten. In diesem Fall ist ein erneutes Entsperren NICHT mehr möglich und damit auch kein erneuter Flashvorgang.
Für einen fehlgeschlagenen Bootvorgang von Android gilt das Gleiche. Hier hilft nur das erneute Flashen von Android und eine anschließende Prüfung des Parameters get_unlock_ability
.
Weiter unten findest du das "Anti-Brick-Diagramm" für das Fairphone 5. Darin sind alle möglichen Konstellationen aufgeführt, mit denen du dein Fairphone "bricken" würdest. Ist sicher einen Blick wert 😉
If it’s 0 don’t lock, reflash the ROM you were trying to install, check again. If you want to lock the bootloader, don’t boot into Android userland after flashing, there’s a high likelyhood that resets the value and you definitely shouldn’t lock after that.
QuelleIf you reflash the same ROM there is basically a guarantee that it’s 1 again. Once you boot it for the first time you will end up with a 0 (at least with stock FPOS and CalyxOS).
That’s why you shouldn’t boot into Android and lock it afterwards, that’s how you end up with a 🧱If your system is unbootable, your bootloader is locked and you have lost get_unlock_ability, then there is no way for you to switch slots. Changing slots only works with an unlocked bootloader.
Quelle
Long story short:
Prüfe im Bootloader-Modus VOR dem Sperren des Bootloaders IMMER erst den Rückgabewert von folgendem Befehl – ist dieser ungleich 1, keinesfalls den Sperrvorgang einleiten:
fastboot flashing get_unlock_ability
(bootloader) get_unlock_ability: 1
OKAY [ 0.001s]
Finished. Total time: 0.001s
⚠️ ACHTUNG ⚠️
Während diesem Schritt wird dein Fairphone 5 auf Werkseinstellungen zurückgesetzt. Das bedeutet einen Totalverlust aller Daten. Stelle sicher, dass du von wichtigen Daten ein Backup auf einem externen Medium hast, falls du das Fairphone 5 bereits genutzt haben solltest.
Für das Sperren des Bootloaders durchläufst du die gleichen Schritte wie beim Entsperren, nur dass die beiden Befehle jeweils fastboot flashing lock_critical
und fastboot flashing lock
lauten. Die folgenden Schritte müssen pro Befehl jeweils einmal durchlaufen werden, ich zeige sie hier daher nur exemplarisch für einen der beiden Durchgänge.
Gib nun auf deinem PC folgenden Befehl ein, um den Bootloader wieder zu sperren:
fastboot flashing lock_critical
bzw.
fastboot flashing lock
Bestätige die folgende Abfrage wieder mit [Lautstärke nach oben]
(wählt den Eintrag aus und färbt ihn blau ein) und [Power]
(führt die gewählte Option aus).
Das Gerät schaltet sich daraufhin erneut ab und startet neu.
Als Nächstes erscheint wieder der folgende Bildschirm, der solange bei jedem Neustart erscheinen wird, solange noch ein Teil des Bootloaders entsperrt ist. Nach kurzer Wartezeit verschwindet er von selbst, du kannst ihn aber auch mit zweimaligem Druck auf [Power]
bestätigen.
Nun erscheint erneut "Erasing..." auf dem Bildschirm, das Gerät setzt sich auf Werkseinstellungen zurück und das Fairphone 5 startet neu.
Sobald alle Teile des Bootloaders gesperrt sind, erscheint der Dialog beim Startvorgang der Fairphone 5 nicht mehr. Solange allerdings die OEM-Entsperrung in den Entwickleroptionen noch aktiviert ist, kann der Bootloader jederzeit wieder über den Bootloader-Modus entsperrt werden. Erst wenn du diese Option deaktivierst, ist eine Entsperrung nicht mehr möglich.
Solltest du den Bootloader dann wieder entsperren wollen, funktioniert das erst wieder nach erneuter Aktivierung der "OEM-Entsperrung" in den "Entwickleroptionen".
"Anti-Brick-Diagramm" für das Fairphone 5
Mit dem folgenden Diagramm siehst du auf einen Blick, an welcher Stelle die Gefahr besteht, dein Fairphone 5 zu "bricken".
Hinweis: Starte die Bilderstrecke, indem du auf eines der Bilder klickst. Navigieren kannst du dann mit den Pfeiltasten oder durch Wischgesten. Die Beschreibung steht jeweils unterhalb der Bilder.
Stichworte zu dem Thema
Stuck in fastboot with locked boot loader
Your device is corrupted. It cannot be trusted and it will not boot
- Gerät bleibt nach Einschalten schwarz (Qualcomm EDL mode only)
Rooten
Die offizielle englischsprachige Anleitung findest du hier. Bei XDA-Developers gibt es auf Englisch ebenfalls eine sehr gute Übersicht aller Schritte.
Warnung
Root und das Sperren des Bootloaders schließen sich kategorisch aus! Solltest du dein Gerät rooten wollen, muss der Bootloader dauerhaft entsperrt bleiben.
Don’t ever lock your bootloader with Magisk installed! Modified partitions and a locked bootloader are mutually exclusive.
Quelle
Voraussetzungen
⏬ Lade dir zunächst die aktuelle APK-Datei von Magisk herunter. Diese findest du im offiziellen GitHub-Repository.
📦️ Außerdem benötigst du für den Root-Vorgang die Datei boot.img
aus dem Installationspaket deines Google-freien Betriebssystems. Bei murenaOS bzw. /e/OS liegt diese direkt im Installationsarchiv. Bei iodéOS hingegen musst du erst noch die zip-Datei innerhalb des Installationsarchivs öffnen und aus dieser die boot.img
herauskopieren. Die Datei ist ca. 100 MB groß.
🔓️ Schalte anschließend auf deinem Fairphone 5 die Entwickleroptionen frei und aktiviere das USB-Debugging (ADB).
Rootvorgang starten
🔌 Schließe nun das Fairphone 5 mit einem USB-Kabel an deinen PC an und navigiere in das Verzeichnis, in welchem sich die die heruntergeladene APK-Datei von Magisk und die boot.img
befinden.
Kopiere anschließend beide Dateien mit folgenden Befehlen auf dein Gerät:
adb push Magisk-v27.0.apk /sdcard
adb push boot.img /sdcard
📥️ Installiere die App Magisk, indem du die soeben auf dein Fairphone 5 kopierte Datei öffnest. Sollte eine Meldung erscheinen, dass die Installation von "Apps aus unbekannten Quellen" nicht erlaubt ist, ändere die entsprechende Einstellung ab und starte anschließend die Installation. Öffne nach erfolgreicher Installation die App Magisk.
Weiter gehts in der Bilderstrecke.
Hinweis: Starte die Bilderstrecke, indem du auf eines der Bilder klickst. Navigieren kannst du dann mit den Pfeiltasten oder durch Wischgesten. Die Beschreibung steht jeweils unterhalb der Bilder.
Navigiere auf deinem PC wieder in den Ordner, von welchem aus du vorhin die beiden Dateien auf dein Fairphone 5 kopiert hast und hole dir die von Magisk gepatchte Datei aus dem Download-Verzeichnis zurück auf deinen PC. Der Befehl dafür lautet wie folgt, wobei der Dateiname bei dir abweichen wird, passe den Befehl also vorher entsprechend an:
adb pull /sdcard/Download/magisk_patched-27000_cOh7x.img .
Starte anschließend mit folgendem Befehl dein Fairphone 5 in den Bootloader-Modus:
adb reboot bootloader
Starte dein Gerät vom Bootloader-Modus aus mit folgendem Befehl und mit Hilfe der gepatchten boot.img
von Magisk. Der Dateiname wird auch hier abweichen, passe den Befehl also vorher entsprechend an:
fastboot boot magisk_patched-27000_cOh7x.img
Sobald das Fairphone 5 erfolgreich gestartet ist, öffne erneut die Magisk-App.
Weiter gehts wieder in der Bilderstrecke.
Hinweis: Starte die Bilderstrecke, indem du auf eines der Bilder klickst. Navigieren kannst du dann mit den Pfeiltasten oder durch Wischgesten. Die Beschreibung steht jeweils unterhalb der Bilder.
Teste nun von deinem PC aus, ob der Root-Vorgang erfolgreich war. Gib dazu folgenden Befehl ein:
adb shell su
Wenn daraufhin auf deinem Fairphone 5 folgende Meldung erscheint, hat der Root-Vorgang geklappt:
Fertig! 🎉
OTA installieren und Root behalten
Um auch nach der Installation eines OTA-Updates (Over-the-air) auf deinem Gerät den Root-Zugriff zu behalten, ohne die boot.img
erneut patchen zu müssen, ist ein wichtiger Zwischenschritt notwendig.
Nach der Installation eines OTA-Updates darf das Gerät nämlich nicht automatisch neu gestartet werden, d.h. die Option Automatische Systemupdates in den Entwickleroptionen muss deaktiviert werden.
Den gesamten Ablauf am Beispiel von iodéOS findest du in der Bilderstrecke, die Vorgehensweise bei murenaOS bzw. /e/OS ist die Gleiche.
Hinweis: Starte die Bilderstrecke, indem du auf eines der Bilder klickst. Navigieren kannst du dann mit den Pfeiltasten oder durch Wischgesten. Die Beschreibung steht jeweils unterhalb der Bilder.
Eine englischsprachige Anleitung des OTA-Updateprozesses mit Root findest du im offiziellen OTA Upgrade Guide.
Fertig! 🎉
Ich möchte mein Fairphone 5 entgoogeln oder rooten, habe dabei aber Schwierigkeiten
Ich unterstütze dich gerne bei der Installation eines Google-freien Betriebssystems auf deinem Fairphone 5 und beim Rooten.
Schreib mir hierzu einfach über Kontakt, per Telegram oder unten in die Kommentare eine Nachricht.
Weiterführende Links
- Alle von iodéOS unterstützten Geräte
- How to root the FP5 and OTA update - at your own risk
- Fairphone 5 auf XDA-Developers
- How to Root Your Fairphone 5 with Magisk
- TWRP for Fairphone 5
- Trapped in fastboot mode with locked bootloader and corrupted custom ROM
- Fairphone stuck in fastboot mode - bootloader unlocked
- [HOWTO] Android bootloader, fastboot, recovery and normal booting
Änderungshistorie
08.10.2024, 16:35 – Ergänzen der Notwendigkeit einer Internetverbindung für das Anfordern des "Unlock Codes"
06.07.2024, 22:30 – Ergänzen des Download-Links für iodéOS v5.x
24.03.2024, 16:45 – Artikel veröffentlicht
16.03.2024 – Vervollständigen des Artikels
28.02.2024 – Vervollständigen des Artikels
25.02.2024 – Vervollständigen des Artikels
24.02.2024 – Vervollständigen des Artikels
09.12.2023 – Artikel erstellt
Hi, ich bin Christian und Inhaber der Firma SWEETGOOD. Mit dem andersGOOD Blog möchte ich auch dich für datensichere IT-Lösungen begeistern. So bringst du dein Unternehmen voran, ohne großen Konzernen deine wertvollen Daten zu liefern. Probiers mal anders!
Kommentarbereich
Die Kommentare sind für dich noch deaktiviert, da du dem Setzen von Cookies bisher nicht zugestimmt hast.
Klicke oben rechts auf "Ja, klar!" und lade die Seite neu, um die Kommentare anzuzeigen.
Seite neu laden