Migrer un ZTE Open C de Firefox OS à CyanogenMod 13

En 2014, je faisais partie des quelques personnes enthousiastes à l'idée de voir arriver le système d'exploitation libre Firefox OS développé par Mozilla et j'avais acquis un ZTE Open C. Dans les premiers temps, j'ai été peu regardant vis à vis des quelques problèmes rencontrés (un marketplace peu actif, absence de support du WPA Enterprise, ...) en mettant cela sur le compte de la jeunesse de ce ce système fabuleux qui allait, à n'en pas douter, bousculer les géants qui règnent en maîtres sur le marché des téléphones portables dits intelligents. La suite de l'histoire est malheureusement moins empreinte d'espérance. En effet, la firme ZTE n'a jamais fait suivre la moindre mise à jour du système et l'offre du marketplace est restée limitée. Alors que le développement semblait se poursuivre correctement, Mozilla annonce fin 2015 qu'il se retire du marché des smartphones. Ce n'est pas la fin du monde pour les utilisateurs de Firefox OS car le système continue à être développé mais nous accusons tout de même le coup. La fin de l'aventure a eu lieu en septembre dernier quand Mozilla a finalement annoncé la fin du développement de Firefox OS. Bref, il fallait se rendre à l'évidence et se décider à changer le système d'exploitation de mon ZTE Open C.

Les explications données ci-dessous sont en partie basées sur la procédure décrite sur le forum de MoDaCo par KonstaT. Ce dernier fait un travail formidable et je profite de l'occasion pour le remercier!

Préparation

Avant de commencer, il faut rappeler que les manipulations qui suivent ne sont pas sans risque et peuvent "bricker" le téléphone. Il convient tout d'abord de sauvegarder toutes nos données. Pour le contenu de la carte MicroSD, une simple copie des fichiers suffit. Pour les fichiers stockés sur le téléphone, ce n'est pas plus compliqué mais il faut avoir activé Stockage USB et Stockage des médias > Partager par USB pour que le téléphone soit reconnu comme un périphérique de stockage lorsque il est branché à un ordinateur.

Pour la sauvegarde des contacts, j'ai utilisé l'application Con Backup développée par Alexandre Girard et disponible dans le marketplace. Une fois la liste de contacts sauvegardée, un fichier fos-contact-backup.vcf contenant toutes les informations apparaît à la racine de la mémoire du téléphone.

Android KitKat

Pour être utilisée, l'image de KonstaT nécessite d'avoir installé au préalable Android KitKat sur le ZTE Open C ainsi que ClockWorkMod.

Pour Android KitKat, une fois le fichier Open_c_root_Android4.4.rar téléchargé et extrait, il faut copier l'archive EU_FFOS+to+Android.zip sur la carte MicroSD et insérer celle-ci dans le téléphone. En pressant simultanément le bouton de démarrage et celui de hausse du volume, le téléphone démarre en mode recovery. Dans le menu Apply update from sdcard, il faut sélectionner l'archive précédente et laisser la procédure se dérouler d'elle-même. L'option Reboot system now redémarre le téléphone qui bootera cette fois sous Android KitKat (ce premier démarrage prend un peu de temps).

L'installation de ClockWorkMod demande un peu plus d'attention. Il faudra avoir préalablement installé les outils Android pour disposer de adb et fastboot sur un ordinateur (sous Debian Jessie, il faut installer les paquets android-tools-adb et android-tools-fastboot). Il faudra également avoir activé USB debugging dans le menu Developer options du téléphone (si ce menu n'est pas disponible dans Settings, il faut se rendre dans Settings > About phone et presser sept fois sur Build number). Une fois l'appareil connecté à l'ordinateur par USB, nous entrons les commandes suivantes dans un terminal (les choix à faire sur le téléphone sont en commentaires) :

adb reboot bootloader
fastboot boot recovery-cwm6051-kis3.img

# Backup and Restore > Backup to /storage/sdcard0
# +++++Go Back+++++
# Reboot system now
# ROM may flash stock recovery on boot. Fix? > Yes
# Root access is missing. Root device? > No

adb reboot bootloader
fastboot flash recovery recovery-cwm6051-kis3.img
fastboot reboot

ClockWorkMod est maintenant installé et, pour y accéder, il faut démarrer le téléphone en pressant simultanément le bouton de démarrage et celui de hausse du volume. A la racine de la carte MicroSD, un dossier clockworkmod contenant la sauvegarde du système est disponible. Il faut penser à le copier en lieu sûr au cas où.

CyanogenMod 13 (Android 6.0.1)

Afin de passer de Android KitKat à CyanogenMod 13, l'archive cm-13.0-20160809-UNOFFICIAL-KonstaKANG-kis3.zip est copiée sur la carte MicroSD et nous démarrons le téléphone de façon à accéder à ClockWorkMod avec la carte MicroSD insérée. Dans Mounts and storage, nous sélectionnons Format /system, puis, dans le menu principal, l'option Wipe data/factory reset. Le menu Install zip nous permet d'installer l'archive placée sur la carte MicroSD. Le téléphone peut maintenant être redémarré avec Reboot system now (répondre No à la question à propos de Root), CyanogenMod 13 est installé! Il faudra cependant être un peu patient car le premier boot prend du temps.

Quelques réglages

Je ne souhaite pas installer les Google Apps sur mon appareil. Cependant, cela est tout à fait possible en utilisant les fichiers disponibles sur OpenGApps.

Pour le marketplace, ce sera évidemment F-Droid et son offre de logiciels libres. Pour cela, il faut se rendre sur le site de F-Droid depuis le navigateur du téléphone et cliquer sur Download F-Droid. Le fichier FDroid.apk est téléchargé mais son installation est bloquée par sécurité. Pour autoriser cette installation, il faut activer l'option Sources inconnues dans Paramètres > Sécurité.

La restauration des fichiers ne pose pas de problème particulier. Il reste à restaurer la liste des contacts que nous avions sauvegardée dans un fichier VCF. Le format dans lequel nos contacts ont été exportés ne convient pas à CyanogenMod et il faut faire un peu de ménage. La commande suivante permet de créer un fichier convenable à partir de nos contacts :

sed -r -e 's/VERSION:4.0/VERSION:2.1/' fos-contact-backup.vcf | grep -v ^REV: > fos-contact-proper.vcf

Une fois copié sur la carte MicroSD, le fichier fos-contact-proper.vcf peut être importé et nous retrouvons tous nos contacts dans notre CyanogenMod 13 fraîchement installé.

Social