Kann ich den Bootloader wieder gefahrlos schließen?

sterum

Member
Original poster
27 September 2019
15
Hallo zusammen,

Nachdem ich nun mein neues 6mq erhalten habe wollte ich als erstes auf OS-L wechseln. Das Telefon wurde mit OS-G 3.7 geliefert, da die OS-L 3.7 aber älter ist konnte ich dies nicht über die OTA App machen. Der Versuch die
Code:
SHIFT6MQ.SOS.3.3.G.20210726-RELEASE-DOWNGRADE_WIPE_OTA.zip
über die OTA App zu installieren schlug ebenso fehl wie über das Recovery (sowohl adb sideload als auch die Installation von SD-Karte).
Ich hab dann beschlossen das Lineage Recovery zu installieren und die Installation von OS-L 3.7 damit zu machen. Das hat auch wunderbar geklappt. Dazu musste aber natürlich der Bootloader entsperrt werden. Um wieder das Stock Recovery zu bekommen hab ich dann die Datei recovery-SHIFT6MQ.SOS.3.3.G.20210726-RELEASE.img nach recovery A und B geflasht, was auch funktioniert hat.
Und jetzt zu meiner eigentlichen Frage: Kann ich nun den Bootloader wieder gefahrlos schließen? Mit
Code:
fastboot flashing lock
 
Wenn auf beiden Slots (A und B) in der Super-Partition ShiftOS installiert ist und die Bootloader/ Recovery's in beiden Slots zu den entsprechenden Installationen der Super-Partition passen, dann ja. Wenn auf einer Partition noch ShiftOS-Light und auf der anderen ShiftOS-Google drauf ist, aber auf beiden Recovery-Partitionen das Recovery von ShiftOS-Google, möglicherweise noch in einer anderen Version als das des Light-Builds drauf ist, würde ich es nicht riskieren. Ich weiß nicht, ob diese Konstellation den dm/avb check besteht.

Bsp.: Das Recovery in Slot A wird nach öffnen des BL ersetzt. System ist nicht mehr verifiziert und das System startet nach schließen des Bootloaders nicht mehr. Auf Slot B (alle Partitionen inklusiv Boot und Recovery) wird nun über das neue Recovery ShiftOS installiert. Das System ist weiterhin (wegen Recovery A) nicht verifiziert und startet bei BL schließen nicht mehr.
Jetzt wird nach einem Neustart der Slot auf B gewechselt. Im (Shift) Recovery wird über ADB Sideload jetzt erneut ein Shift-Image installiert. Das ersetzt alle relevanten Partitionen auf A inklusive Boot und Recovery. Jetzt ist auf allen Partitionen Shift-Firmware drauf, Boot, Recovery und System passen zueinander. Systemverifizierung wird bestanden, nach schließen des BL startet das System wie gewohnt.

Fun Fact: Das geht auch mit ShiftOS-Light und ShiftOS-Google in jeweils einem Slot wenn deren Integrität stimmt, da beide Firmwares verifiziert sind.

Leider ist mir kein Weg bekannt, vor dem schließen zu überprüfen, ob vollständige Integrität gegeben ist.

Aber nach zweimaligem Flashen mit einem zwingenden Recovery-Neustart zum Slotwechsel dazwischen und wenn für den zweiten Flashvorgang das vorhandene Recovery genutzt wurde und nicht extra eines neu installiert wurde, dann sollte das LineageOS-Recovery save überschrieben worden sein und die Integrität passen.

Greetz
 
Könnte man in etwa so vorgehen?
Code:
fastboot flash recovery_a recovery-Lineage.img
fastboot flash recovery_b recovery-Lineage.img
In das Lineage Recovery wechseln und von dort aus Shift OS-L installieren
Dann den aktiven Slot wechseln
Code:
fastboot set_active B
Neu starten
Dann wieder In das Lineage Recovery wechseln und von dort aus nochmals Shift OS-L installieren
Den aktiven Slot eventuell wieder auf A zurück wechseln
Code:
fastboot set_active A
Dann Das Shift Recovery in beide Slots installieren
Code:
fastboot flash recovery_a recovery-SHIFT.img
fastboot flash recovery_b recovery-SHIFT.img

Wenn auf einer Partition noch ShiftOS-Light und auf der anderen ShiftOS-Google drauf ist, aber auf beiden Recovery-Partitionen das Recovery von ShiftOS-Google, möglicherweise noch in einer anderen Version als das des Light-Builds drauf ist, würde ich es nicht riskieren.
Heißt das, für Shift OS-L brauche ich ein anderes recovery.img als für OS-G und die Versionen müssen auch zusammenpassen? Wenn ja, wo bekomme ich das Recovery für OS-L.

Danke
 
Wie wäre es mit:
Code:
fastboot boot LineageOS-Recovery.img

Bootet direkt in das Recovery ohne zu installieren. Flash hier die ShiftOS.Zip.
Gerät aus. Start in den Bootloader und dann von vorne.

Zum Schluss hast du auf beiden Partitionen das identische ShiftOS und das Recovery wurde by the way in beiden Slots angeglichen ohne das ein anderes Recovery installiert werden musste.

Greetz
 
Im (Shift) Recovery wird über ADB Sideload jetzt erneut ein Shift-Image installiert. Das ersetzt alle relevanten Partitionen auf A inklusive Boot und Recovery. Jetzt ist auf allen Partitionen Shift-Firmware drauf, Boot, Recovery und System passen zueinander.
That's what i said...
 
Das mit den Slot A B Geräten muss ich mir noch mal genauer ansehen ... :)

Wenn also Slot A aktiv ist werden beim lnstallieren der zip's über das Recovery die Partitionen in Slot B überschrieben, und umgekehrt wenn Slot B aktiv ist die Partitionen in Slot A?

Danke.
 
Genau so ist es. Ist ein sehr praktischer Mechanismus, wenn mal ein Update schief läuft.

Es ist immer der gleiche Slot aktiv, Updates werden in den inaktiven Slot installiert und nach einem Neustart der Slot gewechselt. Wenn das Update schief geht, wechselt der Slot zurück und man kann das Update erneut versuchen.

Musste ich aber auch erst alles mit dem 6mq lernen. Hatte davor auch nur One-Slot-Devices.

Greetz
 
Frage: Wenn das Lineage recovery mehr Möglichkeiten bietet, könnte man es ja in beiden Slots beibehalten, SOS-L, installieren und den Bootloader dann wieder schließen? Wenn man das will. Ich selbst will root haben deshalb bleibt der schön offen😁
 
Frage: Wenn das Lineage recovery mehr Möglichkeiten bietet, könnte man es ja in beiden Slots beibehalten, SOS-L, installieren und den Bootloader dann wieder schließen?
Kannst du machen, wenn der Bootloader offen bleibt. Sobald aber etwas an der Integrität einer zertifizierten Firmware geändert wurde (da zählt ein anderes Recovery oder Boot-Image dazu), dann wird der dm-verity /AVB-Check nicht mehr bestanden und bei geschlossenem Bootloader startet das System nicht mehr. Sogar dann, wenn es der inaktive Slot ist.

Dann kann ich über Fastboot nichts mehr ändern und da das System nicht mehr startet, kann ich den Bootloader auch nicht mehr entsperren.
Im besten Fall kann die ursprüngliche Integrität über Neuinstallation im Recovery wiederhergestellt werden. Im schlimmsten Fall ist das Gerät gebrickt.

Root verändert übrigens auch das Boot-Image und dessen Signatur. Auch hier würde das System bei Bootloader-Schließen nicht mehr funktionieren. Ob die "keep dm-verity" Option bei Magisk funktioniert will ich nicht testen 😅.

Greetz
 
Ich habe nun den Bootloader geschlossen. Hier noch einmal eine kurze Zusammenfassung.

Ausgangslage war ein geöffneter Bootloader mit einem installiertem Lineage Recovery und SHIFT OS-L jeweils in beiden Slots.

ACHTUNG! Alle folgenden Angaben ohne Gewähr!

1. Das Gerät im fastboot Modus starten
2. Feststellen welche Slot gerade aktiv ist
Code:
fastboot getvar current-slot
Diesn Slot merken oder notieren
3. In ein SHIFT OS-L recovery booten
Code:
fastboot boot Shift6mq_ShiftOS-L_Recovery_initial_release.img
4. Vom Recovery aus SHIFT OS-L per adb sideload installieren
Code:
adb sideload 3.7.L.20220511-RELEASE-LIGHT-OTA.zip
Wenn z.B. der aktive Slot a ist wird SHIFT OS-L ind den Slot b installiert, ebenso wird das passende SHIFT Recovery in den Slot b installiert.
5. Das Gerät wieder in den fastboot Modus starten und feststellen welcher Slot aktiv ist
Code:
fastboot getvar current-slot
Falls noch der gleiche Slot wie oben aktiv ist den Slot wechseln. Entweder a oder b je nachdem :)
Code:
fastboot set_active [a|b]
6. Dann in das Recovery starten. Hier sollte dann die soeben installierte Version angezeigt werden. Dann kann mit adb sideload in den anderen Slot installiert werden.
Code:
adb sideload 3.7.L.20220511-RELEASE-LIGHT-OTA.zip
Damit wird SHIFT OS-L und das passende Recovery in den zweiten Slot installiert.
6. Nun kann das Gerät neu gestartet werden. Dann in den Systemeinstellungen die installierte Version kontrollieren. Diese muss mit der Vorher kontrollierten Version des Recovery übereinstimmen. Wenn ja das Gerät wieder in den fastboot Modus starten und den aktiven Slot wechseln.
Code:
fastboot set_active [a|b]
7. Nun wieder in das Recovery wechseln und die Version kontrollieren. Danach kann gleich wieder SHIFT OS-L gestartet werden. Hier nun auch in den Systemeinstellungen die installierte Version kontrollieren.
8. Nachdem man sichergestellt hat das in BEIDEN Slots sowohl das Recovery als auch das installierte SHIFT OS-L die gleiche Version haben kann der Bootloader wieder geschlossen werden.
Code:
fastboot flashing lock
9. Nach einem Neustart kann in den Systemeinstellungen die OEM Entsperrung wieder abgeschaltet werden. Danach muss das Gerät nochmals neu gestartet werden.
 
Blöde Frage... mein Shift6mq wird von Win11 nicht mehr gefunden... hab verschiedene MTP Treiber ausprobiert aber krieg das grad nicht mehr zum Laufen...
Will den Bootloader schließen mit fastboot flashing lock aber er findet kein device...

Nachdem man sichergestellt hat das in BEIDEN Slots sowohl das Recovery als auch das installierte SHIFT OS-L die gleiche Version haben kann der Bootloader wieder geschlossen werden.
Code:
fastboot flashing lock
9. Nach einem Neustart kann in den Systemeinstellungen die OEM Entsperrung wieder abgeschaltet werden. Danach muss das Gerät nochmals neu gestartet werden.
irgendeine Idee?
 
@Punk9216 das heißt du hast dein Problem hier gelöst? Wäre schön zu erfahren wie?
Blöde Frage... mein Shift6mq wird von Win11 nicht mehr gefunden... hab verschiedene MTP Treiber ausprobiert aber krieg das grad nicht mehr zum Laufen...
Nicht mehr gefunden heißt es ging vorher? Oder hast du es bis jetzt nur noch nicht ausprobiert?
Hast du schon ein anderes Kabel probiert?
 
Nur kurz Off-Topic wegen deiner Frage bezüglich der "Lösung" (ich nenns einfach mal so, auch wenn ich nicht weiß, ob das vielleicht nicht so klug war... :ROFLMAO: Hab jetzt halt einen offenen Bootloader)
Hab den UBPorts Installer auf meiner Ubuntu Partition gestartet und da schien das problemlos zu verlaufen im Vergleich zu meinem Versuch auf Win11.
Kann damit zwischen OS-L und G hin- und herwechseln, habe aber noch einen offenen Bootloader, den ich laut der Anzeige nach erfolgreicher Installation mit UBPorts wohl auch noch nicht schließen soll, da das noch nicht implementiert sei. Meine Frage oben hat sich also vermutlich erstmal erledigt.
(Ist der offene Bootloader eigentlich ein Problem? Kenne mich da nicht wirklich aus und konnte auch nicht so viel im Internet dazu finden... Nutze momentan eh noch mein altes Handy, da mein Shift6mq ne Zeit lang in Reparatur war)
 
Bootloader schließen nach UB-Port Installation ist deswegen ne schlechte Idee, weil der Installer sein eigenes Recovery mitbringt, was nach Installation in der inaktiven Partition ist und die Systemintegrität stört.

Ich wiederhole mich zuweilen, aber der ungefährlichste und imho leichteste Weg ist derzeit, wenn das downgrade-paket nicht funktionieren sollte:

1.) Bootloader mit fastboot öffnen
2.) in bootloader booten
3.) mit
Code:
fastboot boot pfad/zu/Recovery.img
das aktuelle LineageOS-Recovery booten ohne es zu installieren.
4.) Im Recovery entweder von SD oder per ADB das gewünschte Shift-OS firmware-Zip installieren (kein OTA sondern das komplette System. Ist so zwischen 700mb und 1,3Gb groß, je nach Version.
5.) nach Installation wieder in den Bootloader booten.
6.) mit
Code:
fastboot boot pfad/zu/Recovery.img
das aktuelle LineageOS-Recovery booten ohne es zu installieren.
7.) Im Recovery entweder von SD oder per ADB das gewünschte Shift-OS firmware-Zip installieren (kein OTA sondern das komplette System. Ist so zwischen 700mb und 1,3Gb groß, je nach Version.
8.) In den Bootloader booten und diesen schließen.

UB-Installer verspricht anfangs automatisierten comfort. Danach muss man aber wieder mit fastboot ran. Da besteht meiner Meinung nach eine zu große Gefahr durcheinander zu kommen und was zu übersehen.


Ist der offene Bootloader eigentlich ein Problem?
Das System läuft und mir wäre bisher keine App bekannt, die deswegen Probleme macht. Das System ist anpassbarer, da wild die Partitionen manipuliert werden können, bsp root oder ein anderer Kernel mit anderen Funktionen (Undervolting etc)

Das ist aber auch Sicherheitskritisch relevant.
Bsp.: Die Nutzerdaten sind verschlüsselt. In Version 1 des Betriebssystems gab es einen Bug, der Zugang zu den Nutzerdaten ermöglicht. Mit Version 2 wurde der Bug behoben. Das System ist auf Version 4.
Jemand bekommt das Smartphone (ohne Sperrpin) in die Hände. Mit offenem Bootloader könnte nun ohne Probleme auf Version 1 gedowngradet werden um den Bug auszunutzen.
Oder es könnten manipulierte Dateien, bspw ein anderer Kernel installiert werden, mit dem Schwachstellen ausgenutzt werden können.
Bei einem gesperrten Bootloader müsste dieser erst dafür entsperrt werden.
Im System müsste die OEM-Entsperrung aktiviert werden und danach noch mit fastboot den Bootloader öffnen. Das löscht automatisch alle Nutzerdaten, damit sind die also "sicher".

Ein geschlossener Bootloader schützt also nicht vor Verlust (ein Full-Wipe) kann ja jederzeit über das Recovery ausgeführt werden, und die Google-Gerätesperre lässt sich auch vergleichsweise leicht umgehen), aber er schützt die persönlichen Daten.

Greetz
 
  • Like
Reaktionen: danielp und Punk9216
Okay danke für die Infos! 👍

Verstehe ich das aber richtig, dass jemand ohne meinen PIN auf kritische Dinge zugreifen könnte, aber zumindest physischen Zugriff dafür braucht?
 
Verstehe ich das aber richtig, dass jemand ohne meinen PIN auf kritische Dinge zugreifen könnte, aber zumindest physischen Zugriff dafür braucht?
Im Falle eines offenen Bootloaders theoretisch schon. Denke aber da gehört auch einiges an Knowhow und Aufwand dazu. Darüber müsste man sich meines Erachtens nur Sorgen machen wenn man Pablo Escobar oder Paranoid ist.
Immerhin muss so eine Schwachstelle im System erstmal bekannt sein, und nur mit einer Veränderung des Systems oder des Kernel bekäme man die Verschlüsselung wahrscheinlich auch nicht geknackt um hier mal einen der Shift-Developer zu einem neulich erst erwähnten Post zum Thema "trusted environment" und somit der Verschlüsselung zu zitieren.

Greetz
 
  • Like
Reaktionen: Punk9216
Funktioniert es auch den Bootloader wieder zu schließen, wenn ich Lineageos installiert habe?

Ich habe per "flashrom flash recovery_a" und "recovery_b" das Recovery von Lineageos in Beide Slots gespielt und auch das System zweimal, jeweils in Slot a und b installiert.
Somit müsste ja die Vorraussetzung die selbe sein, wie wenn ich ShiftOS mit passendem Recovery installiere!?
 
Funktioniert es auch den Bootloader wieder zu schließen, wenn ich Lineageos installiert habe?

Ich habe per "flashrom flash recovery_a" und "recovery_b" das Recovery von Lineageos in Beide Slots gespielt und auch das System zweimal, jeweils in Slot a und b installiert.
Somit müsste ja die Vorraussetzung die selbe sein, wie wenn ich ShiftOS mit passendem Recovery installiere!?
Dazu müsstest du den AVB Public Key von Lineage bekommen und diesen dann als Custom Key flashen.

Das ist (soweit ich weiß) noch nicht möglich, da Lineage den Key nicht bereitstellt und dazu Änderungen in der Infrastruktur notwendig wären.
Aber ich hab schonmal ein Gespräch dazu mit paar Leuten angestoßen.
 
Heyho zusammen, da ja nun etwas Zeit vergangen ist wollte ich zum UBPorts-Installer und dem offenen Bootloader nochmal nach dem neuesten Stand fragen.

Hintergrund:
Ich habe vor etwa einem halben Jahr mit dem UBPorts-Installer auf Shift-OS-L gewechselt zum Testen und wieder zurück (war vielleicht nicht die beste Idee aber hat ja irgendwie geklappt im Gegensatz zu meinen anderen Versuchen :D). Am Ende der Installation mit dem Installer kam dann die Nachricht, dass alles soweit erfolgreich war aber ich den Bootloader noch nicht schließen soll, da das noch nicht implementiert wurde.

Frage:
Wurde das mittlerweile implementiert und kann man damit die Versionen wechseln + Bootloader dann wieder schließen?
Falls nicht, ist eine Implementierung noch geplant?

LG Tobias
 
Zuletzt bearbeitet:
Am Ende der Installation mit dem Installer kam dann die Nachricht, dass alles soweit erfolgreich war aber ich den Bootloader noch nicht schließen soll, da das noch nicht implementiert wurde.
Ich geh mal davon aus wenn der UB-Port Installer sagt "Bootloader nicht schliessen" dass das noch nicht erledigt ist. Also bloß nicht schliessen. Um den Bootloader zu schliessen muß auf beiden Slots A/B das Shift Recovery und das dazu gehörige Shift OS installiert sein. Bootloader schliessen funzt derzeit nur mit Shift OS G/L oder Calyx OS