Erfahrungen mit root (Magisk) und einem GSI (LineageOS) auf dem Ulefone Armor X5 Pro

KleinesSinchen

KleinesSinchen

Erfahrenes Mitglied
195
Das hier wird wahrscheinlich niemanden interessieren, weil es um ein obskures Billiggerät und nicht um den neusten teuren Mainstream geht. Dennoch… meine vorsichtigen Gehversuche in die Welt von GSI:

Teil 0 – Vorrede​

Warnung: Dieser Text ist KEINESFALLS als verwendungsfertiges Tutorial zu behandeln und auch nicht als solches gedacht! (Trotzdem sind alle Schritte in Kurzform als Liste ganz unten). Es ist ein *Erfahrungsbericht* einer unsicheren Anfängerin nach bestem Wissen und Gewissen. Vielleicht kann(!) es jemandem von Nutzen sein.
Modifikation beinhaltet das Risiko von Datenverlust und kann mit einem unbrauchbarem Gerät ohne jede Möglichkeit der Wiederherstellung enden!

Wer solche Dinge versucht, tut es grundsätzlich auf eigenes Risiko! – Sollte eigentlich selbstverständich sein.
Das Ulefone Armor X5 Pro ist das einzige meiner Android-Geräte, das ich als Neuware erworben habe. Da mobile Internetnutzung für mich nicht in Frage kommt und sicherheitsrelevante Dinge für mich niemals auf einem Telefon erledigt gehören, waren nur zwei Kriterien ausschlaggebend für die Kaufentscheidung: Niedriger Preis und Robustheit. Letzteres ist für eine tollpatschige Chaotin mit zitternden Händen besonders wichtig.

Dass nicht mit großartigem Support bei einem solchen billigen China-Gerät zu rechnen ist, sollte klar sein. Dennoch ist die Anzahl der offiziellen Updates, die geliefert worden sind seit ich es Ende 2020 gekauft habe, bemerkenswert niedrig: Null. Nichts. Nada. Nicht eines. Karpador benutzt Platscher!

Auf der offiziellen Downloadseite, welche an Google Drive weiterleitet, befinden sich zwei Stock ROMs. Eines für Android 10 und eines für 11 mit dem Hinweis nur diejenige Version zu verwenden, welche auf dem eigenen Gerät vorinstalliert war… bei Warnung vor einem „Brick“ im Falle des Missachtung. Besonders ärgerlich, da die Version 11 anscheinend (zumindest vom Datumsstempel) gepflegt wurde und die Version 10 nicht.
Die Erwähnung von „zumindest vom Datumsstempels“ ist wichtig, denn die 10er Datei hat ein Datum von 2021, beinhaltet aber kein Update gegenüber der vorinstallierten Version – ein Flashen gemäß Anleitung endet mit „Android-Sicherheitsupdate 5. Juli 2020“
Na toll!
Nun zum Positiven. Das Gerät ist mehrere Jahre alt, hat keine Garantie mehr… also los, ran! Mach was draus, Sina, und lerne endlich mit diesen verdammten Dingern umzugehen!
Bootloader entsperren ist bemerkenswert einfach. Der Standardbefehl
fastboot flashing unlock
zeigt sofort Wirkung. Nach Bestätigung mit [lauter] (oder war es [leiser]?) wird das Nutzerprofil gelöscht und fortan startet das Smartphone mit 5 Sekunden Verzögerung und der behämmerten „Orange State“ Warnung.
👍 So weit, so gut 👍
Es kann losgehen:

Teil 1 – Magisk​

Die Installation vom neusten, stabilen Magisk – zur Zeit 27.0 – ist trivial. Der Stock ROM für MediaTek Chipsatz kommt bereits in einzelnen Partitionen. Folglich liegt boot.img liegt einfach vor. Magisk App installieren, boot.img auswählen, patchen und
fastboot flash boot magisk_patchedXZY.img
und das war schon alles. Kein disable verity, kein flash vbmeta oder was man sonst so alles beim Suchen auf automatisiert erstellten Seiten findet. So leicht wird man auf diesem Gerät root. So sollte es sein!
Einem Hinzufügen von Busybox für einen vernünftigen Satz von Unix-Dienstprogrammen als Magisk Module steht nichts im Wege – ebenso einem Modul für „Systemless Debloating“. Adieu, „Google Apps“-Müll!
Prinzipiell wäre an dieser Stelle alles gut. Wenn nicht das oben im Spoiler genannte Problem mit den nicht vorhandenen Updates wäre. Patchlevel Juli 2020 ist nicht so der Bringer und Android 10 ohnehin schon abgekündigt.
Also. Wenn schon, dann richtig:

Teil 2 – Custom ROM​

Einen angepassten Custom ROM für so ein exotisches Billigmodell finden zu wollen ist… aussichtslos. Selbiges für TWRP: Nichts. Welcher talentierte Entwickler würde sich auch hinsetzen und so was machen? Nun, zum Glück gibt es ja immer für alle Geräte, die mindestens mit Android 8 geliefert worden sind, noch die generischen Systemimages (GSI). Skepsis, ob so etwas wirklich funktioniert wie vorgesehen ist jedoch angebracht.
Schnell ein passendes Image heruntergeladen: lineage-20.0-20240112-UNOFFICIAL-arm64_bvN.img.xz und im Rausch des Erfolges ein paar Zeilen ins Terminal hämmern. Leicht zu findende Anleitungen besagen, dass die proprietäre vendor Partition unangetastet bleibt und das generische Image aus system geflasht wird.
fastboot erase cache✔️Fein.​
fastboot erase userdata✔️ Fein. Nochmal factory reset. Kein Problem. Ist ja schon alles leer.​
fastboot erase system ❌ NOPE! „Partition table doesn't exist“​
fastboot_Fehler.png
Jawohl. Nicht die Partition existiert angeblich nicht, nein die gesamte Partitionstabelle ist nicht existent! Soll das ein Witz sein? →🤦‍♀️ → Riecht nach einer fehlerhaften Fehlermeldung → 😡

Zurück an die Suchmaschine. Was findet sich nach anstrengendem Suchen? Aha: Geräte geliefert mit mindestens Android 10 haben eine komplex verschachtelte „super“ Partition, welche vendor, product und system als dynamische Partitionen (variable Größe) enthält. Zum Teufel!
fastboot flash super super.img✔️ Geht.​
Muss man jetzt lernen mit lpmake selber eine angepasste super.img zu erstellen? Nein. Man braucht einen kontraintuitiven Ansatz. Den braucht es um festzustellen, dass fastboot nicht gleich fastboot ist. Bei neueren [sic!] Geräten gibt es zwei verschiedene fastboot:
fastboot reboot fastboot
startet in fastbootd. Und innerhalb dieses Systems ist die „super“-Partition geöffnet. Löschen und Flashen der einzelnen Bestandteile ist also möglich.
fastboot erase system✔️
fastboot flash system lineageXZY.img✔️
fastboot reboot

Teil 3 – Ergebnis​

Man kann was aus Geräten machen, die keinen offiziellen Support erhalten: Das Smartphone funktioniert weitestgehend – zumindest auf den ersten Blick. Anrufe klappen. Mobile Datenverbindung auch. Magisk 26.4 läuft. Neobackup kann Apps+Daten wiederherstellen. Wiedergabe eines Hörspiels über einen Bluetoothlautsprecher lief gut. Kamera macht Bilder. Taschenlampe okay. Keine übermäßig schnelle Entladung des Akkus – im Gegenteil: Eventuell verbessert sich die bisher miese Akkulaufzeit. Bisher hat das Ulefone immer nur knapp zwei Wochen von 100% bis runter auf 30% durchgehalten. Erbärmlich!

Nicht korrekt arbeitet WLAN/WiFi: Bei der Fritz!Box ist unter Sicherheit WPA2/WPA3 ausgewählt. Verbindungsversuche vom Ulefone schlagen fehl. Das Reduzieren der Sicherheitsoptionen auf nur WPA2 führt zum Erfolg. Vermutung: Android 13 versucht eine Verbindung mit WPA3 und die Hardware des Smartphones gibt es nicht her.

Insgesamt war die Aktion ein Gewinn für das Ulefone Armor X5 Pro. LineageOS 20 bleibt. Alles in allem eine wesentlich coolere Sache, als mit dem neusten 1000€ Protz-Handy voller Bloatware anzugeben.

Ein paar Screenshots und Fotos vom Gerät:
Homescreen.jpg Version.png
Foto2.jpg Foto1.jpg Foto3.jpg


Teil 4 – Zusammenfassung​

Vom Google-verseuchten Stock ROM zum gerooteten Gerät mit Android 13/LineageOS 20​

  1. Persönliche Daten sichern!!
  2. Mit dem PC den Stock ROM von Ulefone herunterladen und entpacken. Außerdem mit dem PC den gewünschten GSI ROM herunterladen (für A/B, arm64) – in meinem Fall LineageOS 20
    • Magisk App installieren und boot.img aus dem Stock ROM patchen
    • Die gepatchte Datei auf den PC kopieren
  3. Entwickleroptionen aktivieren, USB-Debugging an, Smartphone anschließen, PC autorisieren
    • OEM unlock in den Enwickleroptionen erlauben
    • adb reboot bootloader
    • fastboot flashing unlock (Und dann dem Löschen aller Daten zustimmen)
  4. fastboot flash boot Magisk_patchedXZY.img → Für den Stock ROM ist an dieser Stelle Schluss.
  5. GSI ROM flashen
    • fastboot erase cache
    • fastboot erase userdata
    • fastboot reboot fastboot →[fastbootd startet]
    • fastboot erase system
    • fastboot flash system lineageXYZ.img
    • fastboot reboot
Nach wenigen Minuten sollte LineageOS 20 bereit sein. Vorsicht: USB-Debugging ohne die Notwendigkeit einer Autorisierung ist aktiv. Also offen wie ein Scheunentor. Wenn alles geklappt hat sollte das besser abgeschaltet werden.
 
  • Danke
Reaktionen: Quo, Wattsolls und Meerjungfraumann
Das würde ich auch sofort so machen, wenn ich so ein Telefon in die Finger bekäme. Das GSI Android 13 wird auch nicht unsicherer sein als das veraltete Stock Android 10. Beides ist mehr oder weniger unsicher. Es macht aber mehr Spaß.

@KleinesSinchen Google Dienste hast du aber keine drauf? Ohne sollte es flüssiger laufen.
 
Zuletzt bearbeitet:
  • Danke
Reaktionen: KleinesSinchen
Meerjungfraumann schrieb:
Google Dienste hast du aber keine drauf? Ohne sollte es flüssiger laufen.
Bestimmt nicht. Der ganze Google-Kram gewinnt immer als allererstes eine Reise ins Nirwana ohne Rückfahrschein und LineageOS hat den erst gar nicht → :)

Es läuft sehr flüssig und stabil. Seit einer Woche kein Problem außer dem schon erwähnten mit WLAN.

Halt. Doch. Eine Kleinigkeit: Magisk kann sich nicht selbst aktualisieren. 26.4→27.0 bei Direktinstallation fehlgeschlagen weil Zugriff verweigert auf die Bootpartition. Also Update wie Erstinstallation.
 
KleinesSinchen schrieb:
Magisk kann sich nicht selbst aktualisieren.
Das ist auch nicht schlimm, wenn es keinen Anlass für ein Update gibt. Die werfen dann gerne etwas über den Haufen. Vor einem Update gucke ich ins Changelog und wenn die Änderungen mich nicht betreffen, wird auch keins gemacht.
 
Keine Ahnung ob mein (ursprünglich in meinem englischsprachigem Blog veröffentlichter) Erfahrungsbericht hier oder da jemanden interessiert hat oder interessieren wird. Wohl eher nicht. Na und? Trotzdem ein kleines Update an dieser Stelle:

Das Ulefone Armor X5 Pro ist jetzt seit Januar 2024 im praktischen Einsatz mit LOS und läuft stabil und besser als jemals zuvor.

Verständlicherweise hat sich der für dieses hervorragende GSI-ROM verantwortliche Entwickler AndyYan entschieden, den Support für die ältere LinageOS 20 (Android 13)-Variante von monatlichen Updates auf vierteljährliche zu reduzieren. Da sich Android 15 in der Beta-Phase befindet, dient dies sicherlich dazu den ohnehin schon riesigen Arbeitsaufwand für die gleichzeitige Pflege mehrerer Versionen reduzieren.
An dieser Stelle möchte ich sagen: Danke, AndyYan! Danke für die harte Arbeit, die du in diese freien Betriebssysteme gesteckt hast und ]immer noch steckst]!

Es besteht eine gute Chance, dass LineageOS 21 GSI auf meinem Ulefone nicht bootet. Siehe hier ein Beispiel ein Beispiel [XDA Forum] für ältere Geräte, die nicht booten. Ich werde LOS 21 erst einmal nicht versuchen, da im Moment alles so gut funktioniert. 👍

CurrentPatchlevel.png Homescreen_Neu.jpg
Begebenheiten aus dem Themenkomplex Politik (kompletter Giftmüll, wenn man Politisches online auch nur streift; mal ganz von wirklicher argumentativer Behandlung solcher Themen zu schweigen) haben mich veranlasst meine IT-Sicherheit (im Sinne der beiden nicht-synonymen Gebiete „Privacy“ und „Security“) auf den Prüfstand zu stellen und massiv zu verbessern.

Um es kurz zu machen: Ein GSI auf einem China-Telefon im orange state erlaubt keine praxistaugliche Speicherung privater Daten – trotz einiger ergriffener Schadensbegrenzungen.

Labern über mögliche Angriffe und Lücken auf offene Systeme wie PCs oder Android-Smartphones im orange state wäre hier themenfremd und ich belasse es bei der Andeutung, dass Verfahrensweisen welche beim PC brauchbar sind (very long diceware passphrase, tamper evidence, emergency poweroff, live system/plausible deniability/hidden containers…) auf einem offenen Smartphone nicht adäquat durchgeführt werden können. Alleine das Deutschlandticket zu öffnen, um in den Bus steigen zu dürfen, geht nicht, wenn man lange Passworte nutzen möchte.

Einige wenige Maßnahmen zur Abschwächungen der Bedrohungslage (eher Anfängerfallen) habe ich auf dem Ulefone installiert.
Zur Schaffung einer minimalen Hürde zumindest gegen Gelegenheitsangreifer kommen Fotos und andere Daten in einen separat/manuell verschlüsselten Bereich. Was sich auf einem Touchscreen jedoch schnell und zuverlässig (alphanumerisch) tippen lässt, (und dabei auch noch zuverlässig in meinem kranken Hirn hängen bleibt) erreicht gerade eine geschätzte Entropie von ca. 60 Bit. Eine gute Grafikkarte kann das leider in zu kurzer Zeit knacken.

Zur Trennung zweier Profile kommt Shelter zum Einsatz. Das weniger aus Sicherheitsgründen als mehr zur Schonung des Akkus. Sämtlichen daueraktiven Witzbolde (wie Threema Push) kann man durch App freezing bei Nichtnutzung das Strom- und Datenverschwenden abgewöhnen. Trotzdem ist an mehr als zwei Wochen Laufzeit nicht zu denken… bei einem 5000mAh Akku 🤦‍♀️

Insgesamt macht das Gerät Laune. Aktuelles System, kein Google-Schrott, Hardware hart im Nehmen.
 
  • Danke
Reaktionen: Quo und Wattsolls
Auf diesen spannenden Beitrag hin habe ich mich dann getraut, ein anderes Gerät aus der Armor Serie (21), das lokal recht günstig angeboten wurde, zu erwerben. Ohne wenigstens Firewall und geerdete Hosteinträge/Routen wird bei uns kein Gerät betrieben, und für Runbo und soäter AGM A8 meines Mannes hatte ich ewig gebraucht, bis ich das seinerzeit auch nur gerootet bekommen hatte. Immerhin versprach der Bootloader entsperrt werden zu können ohne durch allzu viele Reifen springen zu müssen, (Das Runbo ist an Ostseewasser eingegangen, das A8 hat neuerdings Kontaktprobleme via USB, und hat jede Art von Abdichtung/Gummierung abgeworfen).

Die Aussicht sogar ein GSI flashen zu können gab dann den Ausschlag, danke! Zu den restlichen Andeutungen habe ich bestimmt auch noch Fragen, kommt noch, ersteinmal bin ich (siehe separater Thread zum Armor 21) mit dem neuen Telephon jetzt soweit, dass ich es nicht mehr anfassen darf, weil es gerade in Betrieb genommen wird, Hurra-Hrmpf. Habe mir gerade auf Kleinanzeigen ein Armor 14 mit spontanem Bitkipper/Verity Problem bestellt (oder Opfer eines externen Angriffes?). hoffe ich kann mit dem nach Herzenslust experimentieren...
 
  • Danke
Reaktionen: KleinesSinchen
Eine Frage habe ich gleich an @KleinesSinchen Wie sieht denn die Speicherbelegung mit dem GSI aus? Hast Du evtl sogar Vergleichswerte zu vorher? Womit betreibst Du die Kamera?
Mir ist gerade ein kleines X7Pro nachgeworfen worden und will verarztet werden. (Android 10, security patch 2022-01-05)
 
Zuletzt bearbeitet:
  • Danke
Reaktionen: KleinesSinchen
Quo schrieb:
Wie sieht denn die Speicherbelegung mit dem GSI aus?
Warum sollte sich die Speicherbelegung auf /data ändern, wenn die Partition /system neu geflasht wird?
 
@Quo
Noch nie drüber nachgedacht. Aber ja, es gibt tatsächlich Vergleichswerte von dem Versuch eine super.img am PC zu erstellen bevor ich die Existenz und den Sinn von fastbootd erfasst hatte.

Partition "super"
lrwxrwxrwx 1 root root 21 2024-06-07 23:02 super -> /dev/block/mmcblk0p34
Größe: 4GB
259 2 4194304 mmcblk0p34

Also… die verschachtelte Partition "super" hat eine Größe von genau 4GB. Die Größe von "system" innerhalb wird von fastbootd automatisch beim Flashen angepasst.

1,5G Jul 10 13:38 product.img 1,1G Jan 24 16:27 stock_system.img 2,9G Jul 28 2021 super.img 4,0G Jan 24 16:34 super.unsparse.img 350M Jan 24 16:27 vendor.img

Hier passt noch alles: Die Auslastung ist 2,9GB (Originaldatei von Ulefone): product 1,5GB + system 1,1GB + vendor 0,35GB≈2,9GB

Aber:
3,2G Jan 24 17:00 super_mod.img
Was ich nicht verstanden habe: Die LineageOS system.img ist deutlich größer als die Originale. Dennoch steigt die Auslastung der Partition super nur moderat auf 3,2GB. Wie gesagt, keine Ahnung, wie genau das Zustande kommt. komprimiert sind die LineageOS Abbilder nur ein Drittel so groß wie ausgepackt. Wirkt auf mich nicht plausibel, dass sich das sooo stark komprimieren lässt. Vielleicht ist das auch eine Sparse file? Habe wirklich keinen Schimmer.

Andere Partitionsgrößen – inklusive userdata – sind natürlich unverändert.
=========

Zur Kamera: 🤣 Das Teil taugt hardwareseitig gar nix. Sozusagen die unheimliche Begegnung der verschwommenen Art (ab dem ersten Tag mit dem Stock ROM). Mit einem Stativ oder bei hellstem Sonnenschein klappt es, aber viele Bilder habe ich nie damit gemacht.
 
  • Danke
Reaktionen: Quo

Ähnliche Themen

MSSaar
Antworten
23
Aufrufe
815
volker2
V
Quo
Antworten
1
Aufrufe
108
Quo
Quo
MSSaar
Antworten
3
Aufrufe
365
DOT2010
DOT2010
Zurück
Oben Unten