[Fairphone 2] – Sailfish OS Installieren
Version: 0.1.0.6 (20.02.2017) by ExPLIT ( explit@mailbox.org )
Diese Anleitung basiert auf der offiziellen Installationsanleitung von mal-, welche neben allen weiteren Dateien unter folgendem Link zu finden ist:
https://wiki.merproject.org/wiki/Adaptations/libhybris/Install_SailfishOS_for_fp2
BUGS BITTE NUR DIREKT MELDEN! ENTWEDER IN DER German SailfishOS Community in Telegram
https://telegram.me/joinchat/CCMYXQnxqdq5v1lue-5aBQ
oder direkt per Mail an: explit@mailbox.org
Ich werde den Fehler daraufhin reproduzieren, mit mal- darüber sprechen und wir versuchen gemeinsam eine Lösung zu finden.
Portierungsstatus, Fehlende Funktionalitäten und bekannte Probleme:
- Jolla Store funktioniert.
- Die gesamte Hardwareunterstützung ist sehr gut.
- Der Kompass (“Compass direction sensor”) funktioniert nicht.
- Möglicherweise gibt es ein paar Probleme mit dem Näherungssensor (“proximity sensor”) während Telefongesprächen. (Dieser lässt sich zwar kalibrieren, was das Problem auch behebt, allerdings reduziert die Verwendung der dafür notwendigen Firmware die Batterielaufzeit in SailfishOS erheblich.)
- Auf manchen Geräten friert die Telefon-App bei Beendigung eines Anrufs sporadisch ein
- Der Kamera-Button wird in der Sailfish Kamera-App nicht unterstützt.
- Auf manchen Geräten funktioniert die Videoaufnahme nicht.
- Die Intensität der Vibration ist sehr schwach.
- Doppeltippen zu Aufwecken (“Double tap to wake”) funktioniert nicht.
- Es gibt keinen offiziellen Support für Android, Microsoft Exchange, Maps und XT9. Die Dateien, welche für
Sailfish Maps, Microsoft Active Sync (Exchange) und XT9 (Text Prediction Engine) notwendig sind, können nur auf dem FP2 installiert werden, wenn sie zuvor auf einem lizenzierten Sailfish-Gerät heruntergeladen und daraufhin auf das FP2 kopiert werden.
!!! Dieses Vorgehen ist de-fakto illegal – Du wurdest hiermit gewarnt! !!!
- Alien Dalvik basiert auf dem Kernel und anderen Low-Level-Bibliotheken (Low-Level-Libraries) und wird daher vermutlich nicht laufen.
- Es gibt 2 verschiedene Microsoft Exchange Versionen!
• Active Sync (Jolla 1, ältere Version)
• Sailfish-EAS (Jolla Tablet / Jolla C / Intex Aqua Fish, neuere Version) Active Sync vom Jolla 1 funktioniert auf dem FP2, Sailfish-EAS vom Jolla C kann ebenfalls installiert werden, hat aber ein paar Probleme mit der Synchronisation auf dem FP2. - XT9 Text Prediction Engine vom Jolla 1 / Jolla C / Intex Aqua Fish funktioniert.
Installationsanleitung
Haftungsausschluss: Das Ausprobieren jedes inoffiziellen Images erfolgt auf eigenes Risiko. Wenn du mit dem hier beschriebenen Vorgehen dein Gerät unbrauchbar machst (“brick”), bist du selbst dafür verantwortlich.
ZUR ERINNERUNG:
Fastboot Mode: Lautstärke leiser (Volume down [-]) & Power On
Recovery Mode: Lautstärke lauter (Volume up [+]) & Power On
Original FairphoneOS (Android GMS, mit Google Services) = Stock Recovery (schlecht)
FairphoneOpen (Android AOSP, ohne Google Services) = TWRP Recovery (sehr gut)
TWRP-Recovery ist ein Open Source Recovery Tool für (einige!) Android-Geräte
Mit TWRP-Recovery lassen sich Komplett-Backups des Systems anfertigen, nachdem du Sailfish installiert und alles eingerichtet hast. Es ist damit ein sehr mächtiges Recovery Tool.
Voraussetzungen für die Installation
- Open Source OS 16.11 Android von Fairphone. (Neuere Releases wie 16.12 können funktionieren, müssen aber nicht.)
- Neuestes SailfishOS Release: https://storage.googleapis.com/fairphone-updates/sailfishos-fp2-sibon-release-2.0.5.6-alpha3.zip
- Computer mit fastboot (erforderlich) und adb (optional)
Die folgende Anleitung geht genauer auf die Installation von ADB und Fastboot auf deinem PC ein. (Fastboot und ADB ist für Windows, MacOS und Linux verfügbar)
http://lifehacker.com/the-easiest-way-to-install-androids-adb-and-fastboot-to-1586992378
Installationsschritte
- Wenn du von einem bereits installierten Release updaten möchtest, lies bitte unterhalb den OTA-Update-Bereich.
- Wenn du stattdessen die SailfishOS Installations-Dateien (.zip) verwenden möchtest, werden alle SailfishOS-Daten auf deinem Gerät gelöscht. Also zuvor unbedingt ein Backup von allen wichtigen Daten erstellen.
- Erfordert Fairphone Open Source OS 16.11
https://storage.googleapis.com/fairphone-updates/3e8ac604-3cfd-41c1-8fd5-5fd6158e8a37/fp2-sibon-16.11.0-manual-userdebug.zip
oder Fairphone OS 1.9.3. Bisher nicht mit anderen Releases getestet. - Die erforderliche Android-Version (sofern nicht schon installiert) mit Hilfe von fastboot und den unten genannten Schritten installieren. Nur system.img und recovery.img flashen.
AUF KEINEN FALL andere Partitionen flashen!
Sailfish OS wird einen hohen Batterieverbrauch haben, wenn du in der Vergangenheit die kompletten Android-Installationsdateien von Fairphone OS >=1.6.2 oder Open Source OS >= 16.08 installiert hast. Um dieses Problem zu beheben, bitte folgende Schritte ausführen:
- Datei herunterladen:
http://storage.googleapis.com/fairphone-updates/FP2-gms59-1.5.1-manual.zip - Die heruntergeladene zip-Datei entpacken
- Die Script-Dateien flash.bat oder flash.sh bearbeiten und die Zeilen, welche folgende Worte enthalten, entfernen:
aboot, boot, system und recovery - Die Datei flash.bat oder flash.sh ausführen.
- Die Dateisystem-Images aus der Android-zip-Datei entpacken.
- Auf dem Gerät in den “Fastboot Mode” wechseln, zuerst das Gerät ausschalten und warten, bis das Gerät komplett aus ist. Daraufhin die Lautstärke leiser-Taste und die Power On-Taste gedrückt halten.Das Gerät startet in den “Fastboot-Mode”.
Achtung: Das FP2 wird nur das Fairphone-Logo anzeigen!!!
Das ist so beabsichtigt und das FP2 befindet sich nun im “Fastboot Mode”
- Auf dem PC nun ein Terminal (Linux / macOS) / eine Kommandozeile (Windows) öffnen und in den Ordner navigieren, in welchem die Dateisystem-Images liegen.
- Mit dem obersten Befehl prüfen, ob das Gerät erkannt wurde und mit den darauf folgenden Befehlen die beiden Dateien flashen und das Gerät neu starten.
fastboot devices
fastboot flash system system.img
fastboot flash recovery recovery.img
fastboot reboot
SailfishOS Installation
- Die heruntergeladene SailfishOS zip-Datei auf die SD-Karte oder irgendwo außerhalb des “SailfishOS rootfs” in die Benutzerdaten-Partition (“userdata partition”) kopieren.
- In das TWRP-Recovery booten, die zip-Datei Signatur-Verifizierung abschalten und die SailfishOS zip-Datei über das bereits installierte Android drüber installieren (ohne die System-Partition (“system partition”) zu löschen).
- Gerät neu starten
Schritt 2: Dem SailfishOS Willkommens-Assistenten folgen
- Der SailfishOS Tutorial kann übersprungen werden in dem man nacheinander in die 4 Ecken des Display tippt, beginnend mit Links Oben und dann im Uhrzeigersinn.
- Optional: Einen Jolla-Account hinzufügen, um Zugriff auf die Sailfish-Apps im Jolla-Store zu erhalten.
- Optional: Für eine aufgeräumte Auflistung unoffizieller SailfishOS-Apps die Seite OpenRepos mit dem SailfishOS Browser aufrufen. Dort kannst du nun jedes armv7hl.rpm Package herunterladen und dieses via Einstellungen > System > Übertragungen installieren. Bitte beachte, dass es sich hier um inoffizielle Software handelt, von welcher auch nur manche Open Source ist.
- Optional: Weitere Accounts via Einstellungen > Accounts hinzufügen. Zum Chatten bietet sich hier beispielsweise XMPP (Jabber) an, welches gut in die Nachrichten und Personen App integriert ist.
WIP Over-the-Air Updates (OTA)
(Für den Fall, dass du eine ältere SailfishOS-Version updaten möchtest)
- Vor dem Update wird ein Backup aller SailfishOS Benutzerdateien auf die SD-Karte oder ein anderes Gerät dringend empfohlen.
- Du kannst jederzeit auf eine zuvor installierte SailfishOS-Version “downgraden”.
- Solltest du von “alpha1” oder “alpha2“ updaten, so musst du nach dem SailfishOS-Update manuell die Datei system.img des Fairphone Open Source OS 16.11 Images per Fastboot in die Systempartition flashen.
Nach der SailfishOS-Installation kannst du auch die Android-Basis updaten.
Hierzu musst du lediglich die system.img des neuen Fairphone Open Source OS Releases per Fastboot flashen.
Bitte darauf achten, stets nur die notwendigen Teile zu flashen!
!!! NIE die Dateien userdata.img oder boot.img nach einer SailfishOS-Installation flashen !!!
Das löscht die gesamte SailfishOS-Installation inkl. aller Benutzerdaten.
- Bitte die Anleitung zur Verwendung von fastboot im vorherigen Kapitel nachlesen.
fastboot flash system system.img
- Ein Terminal mit dem normalen nemo Benutzer (idealerweise via SSH) öffnen.
- SailfishOS über folgende Befehle updaten:
RELEASE=2.0.5.6
devel-su sed -i -e 's#^adaptation=.*$#adaptation=http://repo.merproject.org/obs/nemo:/testing:/hw:/%(vendor):/%(adaptation)/sailfishos_%(release)/#' /usr/share/ssu/repos.ini
ssu rr dhd
ssu rr extra
ssu ar extra http://repo.merproject.org/obs/nemo:/testing:/hw:/common/sailfishos_$RELEASE/
ssu release $RELEASE
ssu lr
# Check the output that the adaptation0 and extra repos have the correct urls
and the repos are enabled
# (note that the url for adaptation0 mentioned above has variables which will be
replaced with values in ssu lr output).
# also check that no other similar repos exist.
# You may have many of OpenRepos enabled. It’s recommended to disable them, even
# though version –dup will do its best-effort to isolate repositories:
ssu lr | grep openrepos
devel-su zypper clean -a
devel-su zypper ref -f
version --dup
# if above fails, try again
version --dup
# After update check using ssu lr that you have repos adaptation-community and
adaptation-community-common
# if either of those is missing run these commands
# devel-su touch /usr/share/ssu/features.d/adaptation-community.ini
# devel-su touch /usr/share/ssu/features.d/adaptation-community-common.ini
ssu rr adaptation0
ssu rr extra
sync
poweroff
Upgrade vom Sailfish Testing- auf das Sailfish Devel-Repository
Nach FP2-SailfishOS alpha3 hat mal- den OTA Update Algorithmus abgeändert.
Die beiden hierfür notwendigen Repositories
adaptation-community (adaptation0 in der Vergangenheit)
und
adaptation-community-common (extra in der Vergangenheit)
sind fest im System hinterlegt. Es ist daher nicht mehr erforderlich, nach jedem System-Upgrade mit dem sed-Befehl (wie in der Vergangenheit) die Repositories neu zu setzen.
Die offizielle alpha3 Testing Anpassung (“Adaptation”) Version ist: 0.0.1.9
Die neueste Development Anpassung (“Adaptation”) Version vom 17. Feb. 2017 ist: 0.0.1.116
0.0.1.9 testing = 0.0.1.112 devel
Beide Anpassungen enthalten im Moment die gleichen Dateien, allerdings sind die neuesten Anpassungen im Devel-Repository stets zuerst enthalten.
Sei vorsichtig und prüfe lieber zwei- oder dreimal nach, was du per Copy-and-Paste kopierst.
Jedes Leerzeichen, jeder Slash oder Backslash ist SEHR WICHTIG !!!
Die Zeilen, welche das Wort testing enthalten, müssen durch devel ersetzt werden:
/usr/share/ssu/features.d/adaptation-community.ini
und
/usr/share/ssu/features.d/adaptation-community-common.ini
Selbiges mit sailfishos_%(release) , was dann zu sailfish_latest_%(arch) wird.
Die Dateien können mit nano bearbeitet werden:
devel-su
nano /usr/share/ssu/features.d/adaptation-community.ini
nano /usr/share/ssu/features.d/adaptation-community-common.ini
Die Datei /usr/share/ssu/features.d/adaptation-community.ini bearbeiten / mit nano öffnen
Die Zeile
adaptation-community=http://repo.merproject.org/obs/nemo:/testing:/hw:/fairphone:/fp2-
sibon/sailfishos_2.0.5.6/
(Wenn du bisher das “testing”-Repository nutzt)
oder
adaptation-community=http://repo.merproject.org/obs/nemo:/devel:/hw:/fairphone:/fp2-
sibon/sailfish_latest_armv7hl/
(Wenn du bisher das “devel”-Repository nutzt)
in
adaptation-community = http://repo.merproject.org/obs/nemo:/devel:/hw:/fairphone:/fp2-
sibon/sailfishos_2.1.0.9
(Devel Sailfish 2.1.0.9)
abändern.
Sobald Sailfish 2.1.0.9 für alle Benutzer offiziell herausgegeben wird, solltest du die Zeile wieder wie folgt ändern:
adaptation-community=http://repo.merproject.org/obs/nemo:/devel:/hw:/fairphone:/fp2-
sibon/sailfish_latest_armv7hl/
Nachdem das korrekte Repository gesetzt wurde, die folgenden Befehle in der Kommandozeile ausführen. Das Gerät bitte nur neu starten, wenn der letzte Befehl erfolgreich beendet wurde!
RELEASE=2.1.0.9
ssu re 2.1.0.9
ssu ur
version --dup
zypper ref; zypper up
Bug-freie-Installation:
Ich habe mehrmals diese SailfishOS Installation auf meinem Fairphone 2 durchgeführt.
Hier gebe ich eine stabilste (IMHO) Installation durch, die ohne große bugs out-of-the-box
funktioniert.
- Fairphone Open 16.12 via fastboot installieren.
- Fairphone Open 16.12 starten, Proximity Sensor mit dem Fairphone Sensor calibration app kalibrieren. Kalibrierungsdaten speichern.
- Ins TWRP-Recovery booten.
- SailfishOS alpha3 2.0.5.6 über TWRP installieren.
- Das alte Modem aus FP2-gms59-1.5.1-manual.zip via fastboot flashen.
- SailfishOS auf 2.1.0.9 aktualisieren.
- Alles testen, wenn alles ok – , TWRP Backup anlegen.
Mit dieser Konfiguration habe ich kein Battery-Drain und keinen schwarzen Display bzw. Freeze nach dem ankommenden Anruf.
ExPLIT
Credits (still in English):
- Sailfish OS porters community, especially Matti Lehtimäki (Mal-), Vasil Filipov and Simonas Leleiva
- Jolla sailors joining the unofficial contributing, especially Slava Monich and Philippe de Swert
- Fairphone developers, especially Kees Jongenburger
- Community sailor André Koot for the photos for this guide, and for deep testing
- Everybody in SailfishOS and WeAreFairphone communities for their support and testing
- Chris from Sailfishmods.de for the Posting and Support
- Gomerus & ChrisDeChef from the German SailfishOS Group on Telegram for the German Translation
- All other ladies and gentleman on talk.maemo.org, #fairphone-sailfish channel on IRC
and German SailfishOS Group on Telegram