En quelques mots, Lineage est un système d'exploitation libre et communautaire pour ordiphone (terme pour désigner un smartphone sans reconnaître la prétendue intelligence (« smart ») de ces appareils), basé sur Android, qui prend en charge un grand nombre de modèles.
Après avoir foiré son installation sur mon Samsung Galaxy S3 i9305, j'ai décidé de retenter avec un nouveau Samsung Galaxy S3 i9305 acheté d'occasion. La lecture du shaarli pointé par le début de la précédente phrase est fortement conseillée car je ne reprendrai pas son contenu ici. En gros, mon hypothèse finale est correcte : il est impératif de ne surtout pas effacer l'intégralité de la mémoire interne, sinon on efface aussi le firmware de la puce GSM et les données relatives au désimblockage.
La procédure à suivre pour installer Lineage sur un Samsung Galaxy S3 4G LTE i9305 est disponible sur le wiki du projet. J'en ferai ci-dessous une traduction des points clés.
Étape 0 : avoir les bons outils
Il nous faut l'outil heimdall. Pour ce faire, avec Debian GNU/Linux :
sudo apt-get install heimdall-flash
Étape 1 : installer un recovery
- Télécharger la version 3.0.2-1 de TWRP adaptée au modèle de notre ordiphone. La dernière version en date du recovery TWRP adaptée à mon i9305, la 3.1.1-0 n'est pas fonctionnelle : la carte SD ne peut être montée ni aucun des systèmes de fichiers nécessaires pour flasher Lineage. En dernier ressort, je mets à disposition la version 3.0.2-1 que j'ai utilisée.
- Booter l'ordiphone en « download mode » en maintenant appuyés les boutons home, volume bas et on/off.
- Brancher un câble USB entre l'ordiphone et l'ordinateur et vérifier qu'heimdall détecte l'ordiphone :
$ heimdall detect
Device detected
- Lancer l'écrasement du recovery depuis le PC. Une barre bleue s'affiche sur l'ordiphone quand la manip' est terminée.
$ heimdall flash --RECOVERY twrp-3.0.2-1-i9305.img --no-reboot
Heimdall v1.4.0
Copyright (c) 2010-2013, Benjamin Dobell, Glass Echidna
http://www.glassechidna.com.au/
This software is provided free of charge. Copying and redistribution is
encouraged.
If you appreciate this software and you would like to support future
development please consider donating:
http://www.glassechidna.com.au/donate/
Initialising connection...
Detecting device...
Claiming interface...
Setting up interface...
Initialising protocol...
Protocol initialisation successful.
Beginning session...
Some devices may take up to 2 minutes to respond.
Please be patient!
Session begun.
Downloading device's PIT file...
PIT file download successful.
Uploading RECOVERY
100%
RECOVERY upload successful
Ending session...
Releasing device interface...
- Parfois, heimdall galère et affiche des erreurs incompréhensibles, voire freeze lors du
detect
. Ci-après, ce que l'on peut lire à ce moment-là dans dmesg
. Si cela se produit, il suffit de redémarrer l'ordiphone en download mode ou de changer de câble USB…
$ dmesg
[…]
[120414.717214] usb 3-2: new high-speed USB device number 28 using xhci_hcd
[120415.009115] usb 3-2: Device not responding to setup address.
[120415.209813] usb 3-2: Device not responding to setup address.
[120415.413981] usb 3-2: device not accepting address 28, error -71
[120415.526142] usb 3-2: new high-speed USB device number 29 using xhci_hcd
[120415.638288] usb 3-2: device descriptor read/64, error -71
Étape 2 : installer LineageOS et être root
- Télécharger la dernière version de Lineage adaptée à la série de notre ordiphone. En dernier ressort, je mets à disposition la version nightly 14.1 du 17/05/2017 que j'ai utilisée.
- Télécharger la dernière version ARM de l'addonsu de Lineage qui permet aux applications de devenir root sans recourir à un bout de code sous licence privatrice comme SuperSu. En dernier ressort, je mets à disposition la version disponible en ligne le 07/05/2017 que j'ai utilisée.
- Stocker ces deux fichiers sur une carte microSD et insérer celle-ci dans l'ordiphone.
- Éteindre l'ordiphone et démarrer en « recovery mode » en maintenant appuyés les boutons home, volume haut et on/off. Afin d'être sûr de mon coup pour l'extinction, je préfère retirer la batterie pour éteindre l'ordiphone.
- Aller dans « Backup », « select storage » et cocher la carde microSD aka stockage externe. Cocher toutes les cases pour tout sauvegarder : « efs », « boot », « cache », « system » et « data ». Puis lancer la sauvegarde en swipant.
- Revenir au menu principal, aller dans « Wipe », « Advanced Wipe » et cocher uniquement « cache », « system » et « data ». Lancer l'effacement en swipant.
- Revenir au menu principal, aller dans « Install ». Choisir le zip de LineageOS, ne pas cocher le redémarrage et la vérification MD5 puis lancer l'installation en swipant. Revenir au menu principal quand c'est fait.
- Pour installer l'addonsu, il faut aussi aller dans « Install », choisir le zip contenant l'addonsu, ne pas cocher les cases redémarrage et vérification, swiper pour installer. La dernière version de l'addonsu, qui fonctionnait sans pépin sur mon Moto G, affiche ici une erreur « Updater process ended with signal: 4 » durant son installation (dans le recovery, donc), mais elle n'est pas bloquante donc elle peut être ignorée.
- Utiliser le bouton « wipe cache & Dalvik ».
- Pour terminer, il faut utiliser le bouton « Reboot system ». Ce premier démarrage va facilement prendre 2 minutes, 2 minutes 30 durant lesquelles l'ordiphone restera sur le logo Lineage.
Étape 3 : confirmer l'accès root
Pour activer l'accès root pour les applications, il faut (traduction de http://www.theandroidsoul.com/root-lineage-os-su-addon-zip-download/ ) :
- Aller dans « Préférences » puis « À propos du téléphone » et appuyer 7 fois sur « Numéro de build ».
- Revenir au menu « Préférences » et aller dans « Options pour les développeurs » et cliquer sur « Accès root ». Choisir « Applications uniquement » ou « Applications et ADB » en ayant conscience que choisir ADB revient à donner un accès root distant (ce qui est à mettre en balance avec le fait que nous avons déjà un « download mode » exposé aux 4 vents qui permet de faire exécuter n'importe quel bout de code par l'ordiphone…).
- Il faudra autoriser au cas par cas l'accès root à chaque application qui le demandera.
Quelques remarques sur Lineage
- MTP (le transfert de fichiers depuis/vers un ordinateur) n'est pas fonctionnel.
- Le chiffrement du système n'est pas fonctionnel : l'ordiphone reboot en erreur dès que l'on confirme notre volonté de chiffrer le système. Notons que, contrairement à mon Motorola Moto G 4G LTE, il m'est proposé que la carte SD soit fusionnée avec la mémoire interne, ce qui permettra de chiffrer l'ensemble (mémoire internet et SD) mais plus d'échanger des fichiers avec d'autres périphériques en retirant la SD. Compte tenu que MTP ne fonctionne pas, je préfère conserver une carte SD amovible donc non chiffrée.
- Parfois, le GPS n'est pas fonctionnel. Il faut alors flasher une version antérieure de Lineage et remonter de versions en versions, voir mon installation de Lineage sur mon Samsung Galaxy S3 i9305.
Conclusion
J'ai donc amélioré mon installation : j'avais un téléphone+GPS, acquis pour pas cher, avec toutes les fonctionnalités modernes (4G LTE) et rooté. Désormais, j'ai un téléphone+GPS, acquis pour pas cher, avec toutes les fonctions modernes (4G LTE, NFC) et une batterie amovible, orchestré par un système libre et rooté.
Prochaine étape ? Un ordiphone qui cumule tout ça avec une fabrication éthique (Fairphone) et/ou un ordiphone sur lequel la puce GSM (baseband) est isolée physiquement et n'a pas un accès privilégié à la mémoire et au stockage du système principal et/ou un ordiphone avec une pile GSM totalement libre (les puces Nvidia Tegra sont compatibles avec la radio logicielle donc openbts) ?