Il y a quelques semaines, je vous expliquais une solution pour faire fonctionner la mise à jour OTA sur un terminal Android rooté où elle échoue lamentablement. J’ai depuis rencontré un nouveau problème, qui a nécessité une autre solution, qui a également l’avantage d’être plus simple…
La mise à jour 5.0.1 sur le Nexus 6 m’a en effet donné du fil à retordre… Dans un premier temps, elle a échoué à cause d’un fichier dont le contenu était invalide, ce qui pouvait se résoudre avec la méthode décrite l’autre jour, mais j’ai ensuite eu droit à un problème avec le firmware du modem (je me demande si lors d’une des mises à jour en échec le modem n’avait pas été mis à jour quand même, bloquant par la suite le lancement d’une nouvelle mise à jour), avec un message de ce genre :
EMMC:/dev/block/platform/msm_sdcc.1/by-name/modem:* » has unexpected content.
Le problème, c’est que le firmware du modem, ce n’est pas un simple fichier qu’on peut remplacer via le shell adb… Il est heureusement relativement simple de réinstaller une version donnée du firmware modem, et par la même occasion, de restaurer aussi une version non modifiée d’Android sans réinitialiser le téléphone. Ainsi, plutôt que de restaurer un à un les fichiers modifiés, l’intégralité des fichiers sont restaurés, et la mise à jour se fait normalement sans problème. Voici comment faire :
- Téléchargez l’image de restauration correspondant à votre version actuelle d’Android, sur cette page,
- Extrayez de l’archive l’image du bootloader (bootloader*.img), celle du modem (radio*.img)et celles des partitions boot (boot.img, dans le fichier image*.zip), recovery (recovery.img, dans le fichier image*.zip) et system (system.img, dans le fichier image*.zip),
- Démarrez votre Nexus en mode bootloader (démarrez en maintenant le bouton volume + enfoncé, jusqu’à affichage du boot menu),
- Ouvrez une invite de commande, placez vous dans le répertoire où est installé fastboot (si vous avez installé Nexus Root Toolkit, vous pouvez utiliser la fonction Advanced Utilities > Manual Input pour ouvrir directement une invite de commande au bon endroit) et tapez les commandes suivantes :
1 2 3 4 5 6 7 |
fastboot flash bootloader <chemin du fichier bootloader*.img fastboot reboot-bootloader fastboot flash radio <chemin du fichier radio*.img> fastboot reboot-bootloader fastboot flash boot <chemin du fichier boot.img> fastboot flash recovery <chemin du fichier recovery.img> fastboot flash system <chemin du fichier system.img> |
Redémarrez, et voilà, vous avez un beau Nexus avec son système non modifié. Il n’y a plus qu’à attendre que la mise à jour OTA soit proposée, et voilà, le système est à jour :
Bien entendu, le root est perdu dans l’opération, mais il peut être remis en suivant les procédures habituelles.