Ayant fait la récente acquisition du Wileyfox Swift, je vais expliquer dans ce billet comment installer CyanogenMod dessus (sans les Google Apps).
Avant toute chose, il faut savoir que cela peut :
- Faire sauter la garantie du téléphone ;
- Rendre le téléphone inutilisable ;
- Provoquer une guerre thermonucléaire ;
- Faire de vous un terroriste ;
- Tuer des chatons.
Et que je ne peux être tenu responsable de ce qu’il se passera.
Avant de commencer, je vous recommande fortement de :
- Sauvegarder les données sur le téléphone si vous en aviez ;
- Retirer votre carte SIM ;
- Prévenir votre petite amie/petit copain que vous ne serez peut-être plus joignable pour les quelques heures qui arrivent.
Mise à jour importante au 26 décembre 2016
Suite à l’arrêt de Cyanogen et CyanogenMod, vous pouvez trouver dans ce dossier les dernières versions pour le téléphone. Je vous recommande fortement d’utiliser la dernière version, soit la 13.0 SNAPSHOT 20161220 (adaptez les liens avec le reste du billet).
Différence entre CyanogenOS et CyanogenMod
Le téléphone est vendu avec « Cyanogen » alors pourquoi y installer CyanogenMod ?
Cyanogen ou CyanogenOS est une version de CyanogenMod modifiée par l’entreprise Cyanogen (qui développe CyanogenMod) et qui inclut, de base, des applications non-libres.
Typiquement, on trouvera, dans la version Cyanogen OS, les applications Google, l’impossibilité d’obtenir les droits root, et il me semble depuis peu, l’inclusion de Cortana (le Siri de Microsoft).
Comme je l’ai dit dans un billet précédent, je ne souhaite pas utiliser un smartphone qui soit relié à un compte Google ni qui possède des applications Google installées par défaut.
Première étape : préparation
Ce billet a été testé sous Linux, les opérations à effectuer fonctionnent très probablement avec Windows et Mac. À vous d’adapter.
Il faut une image recovery compatible avec CyanogenMod, les binaires adb et fastboot ainsi que le fichier d’installation de CyanogenMod.
Il est possible de télécharger le recovery et la ROM depuis le site de CyanogenMod, cependant il n’y a que des versions nightly pour la version 13 (Android 6, Marshmallow). Des quelques tests que j’ai effectués avec la version 13 de CyanogenMod, je n’ai pas été convaincu (quelques bugs) et j’ai donc choisi de rester sur la version 12, basée sur Android 5 (Lollipop) qui fonctionne parfaitement bien (aussi, il s’agit de la même version que celle de CyanogenOS). Les fichiers n’étant plus disponibles sur le site de CyanogenMod, vous pouvez télécharger le recovery ici et l’image là.
Enfin, il faut les binaires adb et fastboot. Ceux-ci s’obtiennent en téléchargeant le SDK de Google, puis en lançant la commande tools/android update sdk --no-ui. Néanmoins, cette action va télécharger plusieurs gigaoctets de données pour deux fichiers qui nous intéressent qui font dans les 3 Mo, donc si vous avez confiance je vous conseille de les télécharger ici (Linux uniquement).
Vous devez donc avoir maintenant 4 fichiers :
- adb, il s’agit d’un binaire qui permet de communiquer avec le téléphone ;
- fastboot, il s’agit là aussi d’un binaire pour communiquer avec le téléphone (avec l’équivalent du BIOS du téléphone) ;
- un .zip (ex: cm-12.1-20160120-NIGHTLY-crackling.zip), il s’agit du système d’exploitation que l’on va installer sur le téléphone, la ROM ;
- un .img (ex: cm-12.1-20160116-NIGHTLY-crackling-recovery.img), il s’agit du système de récupération qui permet, entre autres, d’installer la ROM.
Enfin, il faut copier le .zip sur une carte SD qui sera insérée dans le téléphone.
Il est à noter que vous pouvez à tout moment revenir sur la version CyanogenOS en réinstallant le .zip fourni ici : https://cyngn.com/support.
Démarrer le téléphone sur CyanogenOS − Activer le débogage Android
Afin de pouvoir installer autre chose sur le téléphone, on doit d’abord démarrer sur la version actuelle pour y modifier un réglage.
Il n’est donc pas utile de connecter le téléphone à un réseau Wifi ou de le connecter à un quelconque compte. De même, vous pouvez ignorer les questions sur la localisation et l’heure, de toute façon, ces réglages ne seront pas conservés après la réinstallation.
Une fois le téléphone allumé, allez dans le menu Paramètres, puis sur « À propos du téléphone ».
Tapez 8 fois sur la ligne numéro de build, jusqu’à voir « Vous avez activé les paramètres de développement ».
Revenez dans le menu précédent, puis choissez « Options pour les développeurs ».
Enfin activez l’option « Déverrouillage OEM » ainsi que « Débogage Android ».
Branchez le téléphone à l’ordinateur, le téléphone doit vous demander si vous autorisez la connexion, validez.
Redémarrage sur le bootloader
Depuis l’ordinateur, il suffit de lancer la commande suivante :
adb reboot bootloader
Si vous n’avez rien oublié précédemment, le téléphone doit redémarrer et vous afficher un message « fastboot » à l’écran.
Déverouillage OEM
Cette opération permet d’installer d’autres versions d’Android que celles du constructeur.
Il faut effectuer les commandes suivantes :
fastboot oem unlock fastboot oem unlock-go
Il est possible que le téléphone redémarre à ce stade, l’intégralité des données sur le téléphone ont été effacées. Si le téléphone redémarre, refaites les manipulations précédentes pour revenir sur le menu fastboot.
Flasher et booter sur le recovery
Le recovery est un mini-système Android qui ne permet que de manipuler le smartphone.
Comme nous sommes dans le menu fastboot, on utilisera donc la commande fastboot pour envoyer l’image au téléphone :
fastboot flash recovery cm-12.1-20160116-NIGHTLY-crackling-recovery.img
Deux lignes OK doivent apparaître, si ce n’est pas le cas, une des étapes précédentes a été ratée.
Enfin, on va démarrer le téléphone sur ce fameux recovery.
fastboot boot cm-12.1-20160116-NIGHTLY-crackling-recovery.img
Factory reset et installation
Courage, nous y sommes presque :)
Vous voilà maintenant sur le recovery de CyanogenMod.
La première étape consiste à effectuer une remise à zéro du téléphone en utilisant le menu Factory Reset/Wipe data.
Une fois cette étape effectuée, il faut sélectionner Apply update from zip, choisir la carte SD (sdcard1) et le .zip qui y a été mis à l’étape de préparation.
Si tout s’est bien passé (s’il n’y a pas de message d’erreur en rouge), vous venez d’installer CyanogenMod sur votre téléphone.
Il ne vous reste plus qu’à redémarrer pour profiter pleinement du téléphone.
Pour aller plus loin
Je vous recommande fortement d’utiliser le market F-Droid.org pour trouver des applications libres pour le téléphone.
Il faut donc activer les sources inconnues : dans les paramètres Android, allez sur sécurité, et activez les sources inconnues.
Vous pouvez aussi utiliser d’autres markets, comme Aptoid pour trouver des applications non-libres sans vous connecter à un compte Google.
Revenir sur CyanogenOS
Si vous souhaitez revenir sur CyanogenOS, il faut télécharger le fichier cm-12.1-YOG7DAS2FI-crackling-signed-fastboot-07863145a7.zip sur le site de Cyanogen.
Ensuite, redémarrez le téléphone en mode fastboot puis effectuez la commande suivante :
fastboot update cm-12.1-YOG7DAS2FI-crackling-signed-fastboot-07863145a7.zip
Mise à jour du 25 mars 2016
La version 13.0 de CyanogenMod est disponible en « snapshot », c’est-à-dire une version nightly considérée comme stable par les développeurs.
Cette version semble fonctionner correctement sur le téléphone.
Une remarque, par contre, la mise à jour de CyanogenMod 12.1 vers 13.0 implique d’effacer les données utilisateurs (sms, contacts locaux, applications installées, etc.). Les cartes de stockage interne et externe ne sont pas impactées.
1 De rockab -
Bonjour, merci pour ce descriptif détaillé bien fait visuellement et la mise en oeuvre qui semble a la porté de tous
2 De ounet -
Bonjour,
Merci pour ce mode d'emploi.
Avant de me lancer je voudrais juste savoir comment se feront les mises à jour sur le téléphone, est-ce que celles "annoncées" par le téléphone fonctionneront (en clair, on télécharge un fichier et on redémarre) ou faudra-t-il relancer une procédure comme celle que tu décris au risque de devoir reconfigurer toutes les apps, les sonneries, le fond d'écran, etc...
3 De JEFF -
Bonjour,
Merci pour ce tutoriel qui m’a été très utile pour passer sous CyanogenMod 13
Pour les utilisateurs de Windows (désolé Aymeric)
Il existe une version light de Adb et Fastboot (environ 1 Mo) :
http://forum.xda-developers.com/sho...
4 De APLU -
@ounet les mises à jour sont ensuite disponible en OTA, lorsqu’une mise à jour est publié tu la télécharge sur le téléphone, un reboot en suivant les instructions sur le téléphone et c’est bon. Après on peut aussi les faire à la main mais on n’est pas obligé de réinitialisé le téléphone.
@JEFF: Cool ! J’imagine qu’en cherchant bien on doit trouver une version pour mac aussi :-).
5 De Eric -
Bonjour Aymeric,
J'ai également un Wileyfox Swift sous Cyanogen OS 13. Je ne suis pas parvenu à installer Cyanogenmod (message d'erreur quand il flashe le fichier recovery). Tu peux me donner un coup de main? Merci d'avance ! Eric
6 De APLU -
@Eric, quel est le message d’erreur ?
7 De wileybreak -
Salut. J'ai suivi la procédure, mais avec la release 12.
Tout s'est très bien passé jusqu'au dernier point. Au moment de rebooter le téléphone à la fin de l'installation, il affiche furtivement l'écran de démarrage wileyfox puis s'éteint dans la seconde...
Pour le redémarrer, obligé d'enlever la batterie, et rebelote. Bref, le téléphone est HS. Une idée ? (j'ai du mal à voir une solution, mais bon, je tente...)
8 De APLU -
@Wileybreak:
Si tu fais power+volume-up (ou volume-down, j’ai un doute) tu peux revenir sur le menu fastboot.
Depuis fastboot tu pourras relancer un recovery et reflasher le téléphone.
9 De wileybreak -
Oui, ça a été un peu compliqué, j'ai dû aller un peu loin dans les commandes, mais j'ai résolu le problème. Merci de ta réactivité :)
10 De Cerealekiller -
Salut,
j'ai un problème au moment de lancer la commande " adb reboot fastloader" j'ai le retour "command not found".
Merci de l'aide
11 De Cerealekiller -
Bonjour,
j'ai trouvé le paquet sur mes dépots, j'arrive à lancer le fastboot mais après les commandes fastboot me renvoient < waiting for any device >
Merci d'avance
12 De APLU -
@Cerealekiller, pour adb selon la version que tu as elle sera trop ancienne et ne supportera pas le téléphone, si tu prends les versions cité dans l’article il faut faire ./commande (ex: ./adb reboot… ou ./fastboot flash…) en étant dans le dossier où il y a les fichiers.
13 De Cerealekiller -
C'est fait mais j'ai toujours le même retour:
< waiting for any device >
le problème est avec fastboot, pas de problème pour adb
Merci
14 De Cerealekiller -
C'est bon je me suis débrouillé avec le wiki https://wiki.cyanogenmod.org/w/Inst...
15 De Cerealekiller -
Re-salut,
une dernière petite question: tu sais comment installer des nouveaux thèmes sans passer par le google-store?
Merci d'avance
16 De APLU -
Ok pour le Wiki CM, il est peut être plus à jour que mon post ici qui date de Février.
Pour les thèmes il y en a sur F-Droid mais je ne les ai jamais essayé, sinon tu peux regarder du côté de apkmiror et aptoid, il y a sûrement des apk, non libre qui y traîne.
17 De ubuntu16.04 -
Ca fonctionne pas chez moi, malheureusement. (j'utilise Ubuntu 16.04.1) (je voudrai surtout me débarrasser des applications de google: météo et cie)
1ère étape:
adb reboot bootloader
(rien ne se passe)
je redémarre en mode manuel donc.
2ème étape:
fastboot oem unlock
fastboot oem unlock-go
OK: ca marche
3ème étape:
fastboot flash recovery cm-12.1-20160116-NIGHTLY-crackling-recovery.img
error: cannot load 'cm-12.1-20160116-NIGHTLY-crackling-recovery.img'
Merci d'avance.
18 De ubuntu16.04 -
Suite à mon commentaire du 24/12, je précise que j'utilise un MSI GE62 avec une distribution Linux Ubuntu 16.04 et Kernel 4.8 (je ne sais pas si cela peut avoir une influence sur l'accès entre le pc et le téléphone via l'usb et via fastboot et adb. J'ai lu ça et je ne vois pas MSI mentionné.
https://wiki.cyanogenmod.org/w/UDEV
Joyeux Noël Aymeric! ('suis moi aussi un grand passionné de Linux/Ubuntu/Debian)
19 De APLU -
@ubuntu16.04, est-ce que tu as ton terminal ouvert dans le dossier avec les fichiers présents ?
Sinon je conseille de prendre la dernière version CM-13.0 du 20/12. Le site de CyanogenMod semble être down mais je vais les envoyer sur le serveur dans la semaine. Il y a des changements sérieux chez Cyanogen et CyanogenMod…
20 De ubuntu16.04 -
@APLU
D'accord Aymeric, dans ce cas, je vais attendre de voir ce qui se passe avec Lineage OS et continuer à tourner pour le moment sous Cyanogen 13. Je regrette un peu Cyanogen 12, où on avait la possibilité d'insérer une signature automatique dans les sms.
21 De GnuLinux -
Bonjour Aymeric,
J'aimerais savoir si tu as une solution à ce problème :
J'ai un Wileyfox Swift (crackling) et j'ai installé Lineageos 14.1 (Version Android 7.1.2). version LineageOS : 14.1-20180314-NIGHTLY-crackling et je rencontre le problème suivant : redémarrage aléatoire du téléphone (celui-ci n'a pas de carte mémoire SD, seulement la mémoire du téléphone).
J'ai lu que le problème peut provenir de "fuite de mémoire" (memory leak) (Problème résoluble avec VirtualXposed ?)
J'ai eu auparavant un problème de"Bootloop" (le téléphone redémarrait en mode Recovery avec TWRP et restait bloqué dans ce mode Recovery), problème résolu en tapant la commande suivante dans le terminal de TWRP :
dd if=/dev/zero of=/dev/block/bootdevice/by-name/misc bs=256 count=1 conv=notrunc
J'ai un autre Wileyfox Swift qui n'a pas ce problème, aucun bug, aucun redémarrage.
Merci d'avance.
22 De APLU -
Salut,
Pour le problème de bootloop, j'en parle de ce billet.
Pour ton probème avec le téléphone qui reboot de manière aléatoire, tu peux essayer avec une version plus récent de LineageOS, si c’est une fuite mémoire ça peut être corrigé.. la version 14.1 est plutôt vieille. La dernière version est la 17.1 (même si de mon côté je n’ai pas fait les mises à jour depuis la 16…).
Autre chose vérifie si il n'y a pas une corrélation entre la charge de la batterie et les reboots... sur mon téléphone maintenant si la batterie indique une charge <75% et qu'il n'est pas branché je suis a peu près sûr qu'il va rebooter pendant un appel, pas super pratique….
Aymeric.