Installation de CyanogenMod 11 / Android 4.4 (Kitkat) sur Samsung Galaxy S2 (GT-i9100)
Rédigé par nonymous - - 31 commentaires
Tout ce qui suit est basé sur la documentation officielle fournie sur le site CyanogenMod.
Attention, cette dernière n'est pas totalement fiable, et j'ai quasi-briqué mon téléphone plusieurs fois avant que ça fonctionne.
Pour résumer, l'installation de Cyanogen sur ma Galaxy Tab, c'était déjà rock n' roll. Mais alors sur le Samsung S2, c'est carrément hardcore badass. Dans cet article, je vais essayer de résumer ce qu'il faut faire, en vous épargnant les multiples tentatives et erreurs par lesquelles je suis passé.
Et comme c'est vraiment hardcore badass, je vais te tutoyer.
Pour faire cette installation, j'utilise un PC sous Linux Mint 17 x64 Cinnamon.
Étape 1 : la sauvegarde
J'utilise l'application "Sauvegarde ton portable".
Personnellement, je coche les éléments suivants :
- Contacts
- Journaux d'appels
- SMS, MMS
- Paramètres système
- APN
Une fois réalisée, la sauvegarde se présente sous la forme d'un fichier dont le nom est sous la forme :
backup_2014-11-05-21-52-50
Il s'agit en fait d'un fichier zip dans lequel tu peux fouiller un peu pour retrouver tout ton petit boxon. Retrouve ce fichier dans l'arborescence de ton téléphone, puis copie le au chaud quelque part sur ton PC.
Par ailleurs, personnellement, je sauvegarde tout ce qui est photos et vidéos manuellement (dossier DCIM/camera).
Installation de Heimdall
Heimdall est l'outil qui va permettre d'installer un Recovery Mode alternatif. Le recovery mode est un outil spécial qui va installer l'OS proprement dit. Il s'exécute au démarrage de l'appareil lorsqu'une certaine combinaison de boutons est effectuée.
L'installation se fait par la commande suivante :
sudo apt-get install heimdall-flash
Pour tester le fonctionnement :
heimdall version v1.4.0
Télécharger le ClockWorkMod Recovery Mode 6.0.4.6
Pour installer CyanogenMod 11, il faut un recovery mode compatible avec cette version. Tu utiliseras ClockWorkMod Recovery 6.0.4.6.
Le fichier est disponible ici : recovery-clockwork-6.0.4.6-i9100.zip.
Ouvrir le fichier zip et extraire le fichier recovery.img dans un emplacement dont tu te rappelleras.
Télécharger la ROM CyanogenMod 11
Celle que j'utilise est située ici : http://download.cyanogenmod.org/?device=i9100&type=nightly, en l'occurence le fichier cm-11-20141108-NIGHTLY-i9100.zip (mais je te conseille de prendre le plus récent disponible). Il s'agit d'une version "Nightly" (donc pas une release stable - c'est un risque à prendre, sur mon téléphone ça fonctionne bien).
Le changelog des nightlies sur Samsung S2 est disponible ici : http://www.cmxlog.com/11/i9100/. C'est toujours intéressant d'y jeter un oeil.
Il faut que tu télécharges également les Google Apps, afin d'avoir accès par exemple au Play Store. Il te faut une version des Google Apps compatible avec la version de Cyanogenmod ci-dessus. Par ailleurs, en raison d'une limitation du S2 (une histoire de taille de partition je crois, selon la doc officielle), il faut prendre la version 20140105, disponible ici.
Stocker ces fichiers à un endroit facile d'accès (c'est à dire pas dans les tréfonds d'une arborescence délirante). A ce stade, on a 3 fichiers :
- recovery.img : le recovery mode
- cm-11-20141108-NIGHTLY-i9100.zip : la ROM proprement dite de Cyanogenmod
- gapps-kk-20140105-signed.zip : les Google Apps
ULTRA IMPORTANT
Recopie les 2 fichiers suivants sur ton téléphone depuis ton PC :
- cm-11-20141108-NIGHTLY-i9100.zip
- gapps-kk-20140105-signed.zip
Si ces fichiers ne sont pas sur le téléphone, tu es dans un monde merdique.
ULTRA IMPORTANT
Recopie les 2 fichiers suivants sur ton téléphone depuis ton PC :
- cm-11-20141108-NIGHTLY-i9100.zip
- gapps-kk-20140105-signed.zip
Oui, je viens de le dire, mais c'est tellement ultra important que je préfère me répéter.
Sinon → monde merdique.
Pourquoi ? Parce que la plupart des docs que j'ai vues parlent d'utiliser "adb" pour transférer les fichiers. C'est un système de communication basée sur les API Google. Or, je n'ai jamais réussi à faire communiquer le téléphone avec mon PC en utilisant adb. Sauf qu'une fois en mode Recovery, si t'as pas accès aux fichiers de ROM à installer, tu y es (dans le monde merdique).
Ca y est ? Tu es prêt ?
Il est encore temps de renoncer...
Passer en "Download Mode"
OK, t'es pas un ptit joueur, on y va.
Avant tout, débrancher le câble USB. Puis :
Tu appuies simultanément sans jamais lâcher sur les boutons Volume Down + Home + Power. Tu ne lâches que lorsque tu as l'écran ci-dessous :
Ici, tu appuies sur "Volume UP" pour accepter.
Tu es alors en "Download Mode" :
Le téléphone est un dans un mode d'attente : toi, tu en profites pour lui envoyer des choses à l'aide d'un outil spécialisé via le câble USB. C'est ici qu'entre en jeu Heimdall.
Tu branches ton câble USB, puis tu ouvres un terminal. Tu te déplaces dans le dossier où ton fichier recovery.img a été stocké, puis tu saisis :
sudo heimdall flash --KERNEL recovery.img --no-reboot --verbose
Cela veut dire en gros :
"Cher Heimdall, veux-tu bien s'il te plait écrire le contenu de recovery.img sur la partition de mon téléphone nommée KERNEL ?"
Il est crucial de respecter la syntaxe et la casse des caractères.
Normalement, ton Linux va te demander ton mot de passe root, puis tu vas voir défiler ceci :
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... Manufacturer: "SAMSUNG" Product: "Gadget Serial" length: 18 device class: 2 S/N: 0 VID:PID: 04E8:685D bcdDevice: 021B iMan:iProd:iSer: 1:2:0 nb confs: 1 (...) 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 KERNEL 0% 15% 31% 46% 62% 77% 93% 100% KERNEL upload successful Ending session... Releasing device interface... Re-attaching kernel driver...
Sur le téléphone, une barre bleue de progression complète s'affiche :
Passer en Recovery Mode
C'est un peu comme le download mode, c'est un mode spécial, auquel on accède avec une combinaison de bouton spéciale. Ici, c'est Volume UP + Home + Power : (ne jamais relâcher tant qu'on n'a pas obtenu l'écran Recovery Mode).
On obtient l'écran ci-dessous :
Attention, ici c'est une photo (moche) de la version 4.0.1.5 que j'ai utilisée avant de m'apercevoir que je me plantais. Je n'ai pas fait de photo de la version 6.0.4.6, mais c'est quasiment pareil, en bleu.
On navigue dans ces menus avec Volume Up/Volume Down et Power pour valider.
Faire une sauvegarde
Ca m'a sauvé la vie. Je te conseille vraiment de le faire, même si ça saoule.
Tu vas donc dans "backup and restore" et tu valides. Ca va faire une sauvegarde complète de ton OS, je n'ai aucune idée de où ça s'enregistre, mais ça le fait.
Effacer tout
Alors en fait, à ma grande surprise, ça n'efface pas tout. J'ai même eu la surprise de ne jamais perdre mes données (photos, vidéos, etc.) malgré les 150 tentatives que j'ai faites (avec plein de formatages). Par contre tout ce qui est contacts, sms, mms, est perdu.
Dans le Recovery Mode, :
- sélectionner "wipe data/factory reset", valider
- sélectionner "wipe cache partition", valider
Ici, c'est une photo de la version 6.0.4.6. Comme tu peux le constater, c'est bleu. Et un peu de travers.
Installer CyanogenMod 11
Tu n'as pas quitté le recovery mode, tu vas donc dans "install zip".
Tu te rends dans le dossier de ton téléphone où tu avais enregistré tes 2 fichiers zip. Petit piège : ici, les dossiers sont rangés par ordre alphabétique, mais avec toutes les majuscules en premier, puis les minuscules. Donc ton dossier "cyanogen" (si tu l'as appelé comme ça) peut se trouver très bas dans la liste. J'espère que cette explication est claire.
Tu sélectionnes "cm-11-20141108-NIGHTLY-i9100.zip" et tu valides, non sans une réelle appréhension.
Une fois que tu as le message rassurant "Install from sdcard complete", tu recommences avec gapps-kk-20140105-signed.zip.
Si tu es dans un jour de chance et que tu as bien travaillé, tu obtiens ça :
(Sur la photo, il manque la fin de l'install des Google Apps
Rebooter
Tu es y presque ! Tu sélectionnes "Reboot system now", et là, ton estomac se noue pendant que tu regardes redémarrer la chose.
Normalement, ici, un truc très inquiétant se passe :
Pas de panique. Si tout s'est bien passé, tu attends un peu (environ 10 secondes de pure angoisse) et un magnifique logo Cyanogenmod va remplacer ce vilain écran de la terreur :
C'est fini !
Tu termines l'installation en suivant les instructions, puis tu installes "Sauvegarde ton portable" à partir du Play Store, tu restaures ta sauvegarde, et voilà.
BONUS : Restaurer la ROM officielle en cas de téléphone briqué
Le Samsung S2, lorsqu'il est "briqué", démarre avec un panneau triangulaire Warning et puis... plus rien.
J'ai quand même trouvé une solution pour restaurer une ROM fonctionnelle.
Première étape : télécharger la ROM. J'ai utilisé le fichier "I9100XWLSS_I9100OXFLS3_I9100XXMS2_HOME.tar.md5" que j'ai eu bien du mal à trouver, mais qui au final fonctionne. Je l'ai sous le coude, si nécessaire, je peux le tranférer à qui me le demandera.
Il faut ensuite décompresser ce fichier, ce qui nous donne le contenu suivant :
-rwxr--r-- 1 user user 131072 avril 22 2013 boot.bin -rwxr--r-- 1 user user 40792236 avril 22 2013 cache.img -rwxr--r-- 1 user user 486188232 avril 22 2013 factoryfs.img -rwxr--r-- 1 user user 405809628 avril 22 2013 hidden.img -rwxr--r-- 1 user user 12583168 févr. 15 2013 modem.bin -rwxr--r-- 1 user user 1277952 avril 22 2013 param.lfs -rwxr--r-- 1 user user 1310720 avril 22 2013 Sbl.bin -rw-r--r-- 1 user user 276480 avril 24 2013 SS_DL.dll -rwxr--r-- 1 user user 8387840 avril 22 2013 zImage
Passer ensuite en "Download mode" sur le téléphone (voir plus haut), puis lancer une fenêtre de terminal après avoir branché le câble USB. Saisir la commande suivante en respectant la casse :
sudo heimdall flash --BOOT boot.bin --CACHE cache.img --FACTORYFS factoryfs.img --HIDDEN hidden.img --MODEM modem.bin --PARAM param.lfs --SBL1 Sbl.bin --KERNEL zImage --no-reboot
Une fois la commande terminée (ça dure un certain temps quand même), rebooter le téléphone et prier.