Android Jelly bean, cyanogene et hboot.

Heureux détenteur d’un HTC One X, j’ai souhaité passer d’une version 4.1 d’android à 4.3 (avec une ROM custom cyanogen).
Histoire de pas repasser 3 plombes à trouver ce qu’il me faut à la prochaine grosse update, voici quelques notes:

HBOOT: bootloader
CID: Carrier ID
RUU: Rom Upgrade Utility

Ce qu’il faut pour procéder:

  • ROM custom cyanogen [1]
  • firmware hboot [2]
  • CWM [3]

[1] http://get.cm/?device=endeavoru
[2] http://forum.xda-developers.com/showthread.php?t=1957376
[3] http://www.clockworkmod.com/rommanager

 

    0. On transfère sa futur ROM sur le /sdcard/ du HTC.

    1. Upgrade du HBOOT.

Sur mon téléphone, ma version de HBOOT était 0.95, cyanogenmod 10.2 tournant avec un kernel 3.1.X, il nous faut upgrader avec une version > 1.28

/!\ Si le HBOOT est en S-ON, un upgrade est possible mais pas un downgrade.

  • Reboot du tél. en fastboot
  • Branchement du câble USB
  • On vérifie que le téléphone est bien détecté

$ sudo ./fastboot devices -l
HTXXXXXXXXXXX fastboot usb:1-1.1

  • On récupère son CID afin de trouver le bon firmware à upgrader

$ sudo ./fastboot oem readcid | grep “HTC”
HTC__203

  • Puis on le re-lock (il faudra le re-rooter ensuite)

$ sudo ./fastboot oem lock

(bootloader) Lock successfully…
FAILED (status read failed (No such device))
finished. total time: 5.157s

=> Vous devriez voir apparaitre en haut du HBOOT la mention ‘RELOCKED’ sur le tél.

  • On reboot le RUU (l’écran du tél. deviendra noir avec le logo HTC)

$ sudo ./fastboot oem rebootRUU

(bootloader) Save data from original MSC…
(bootloader) Save data from SIF…
(bootloader) Update partition data to SIF partition
(bootloader) offset = 0
(bootloader) Update partition data from original MSC…
(bootloader) offset = 0
(bootloader) [MSG] OKAY
OKAY [ 0.247s]
finished. total time: 0.247s

  • Puis on upgrade le firmware (On verra une barre verte se remplir pendant le processus)

$ sudo ./fastboot flash zip firmware.zip
sending ‘zip’ (12876 KB)…
OKAY [ 1.634s]
writing ‘zip’…
(bootloader) adopting the signature contained in this image…
(bootloader) signature checking…
(bootloader) checking model ID…
(bootloader) checking custom ID…
(bootloader) checking main version…
(bootloader) checking hboot version…
(bootloader) start image[hboot] unzipping for pre-update check…
(bootloader) start image[hboot] flushing…
(bootloader) signature checking…
FAILED (remote: 90 hboot pre-update! please flush image again immediately)
finished. total time: 4.965s

=> Si une erreur apparait comme ci-dessus, on relance la commande:

$ sudo ./fastboot flash zip ~/Downloads/firmware.zip
sending ‘zip’ (12876 KB)…
OKAY [ 1.544s]
writing ‘zip’…
(bootloader) adopting the signature contained in this image…
(bootloader) signature checking…
(bootloader) checking model ID…
(bootloader) checking custom ID…
(bootloader) checking main version…
(bootloader) checking hboot version…
(bootloader) start image[boot] unzipping & flushing…
(bootloader) Format partition LNX done
(bootloader) [RUU]WP,boot,100
(bootloader) start image[recovery] unzipping & flushing…
(bootloader) Format partition SOS done
(bootloader) [RUU]WP,recovery,100
(bootloader) ERASE backup cid
OKAY [ 3.196s]
finished. total time: 4.741s

  • Puis on reboot le bootloader

$ sudo ./fastboot reboot-bootloader
rebooting into bootloader…
OKAY [ 0.135s]
finished. total time: 0.135s

    3. Re-root du téléphone

Une fois l’upgrade du HBOOT terminé, il faut unlocker de nouveau le tél.

  • On retourne en fastboot et on recupère IT

$ sudo ./fastboot oem get_identifier_token

(bootloader)
(bootloader) < Please cut following message >
(bootloader) <<<< Identifier Token Start >>>>
(bootloader) 8AC43FAAC3A01CDB961C79171F92E191
(bootloader) BC62E5246B52CC447CDBC5E9DF5D0DEE
(bootloader) 7AA58DF22979B56EEC705822B38D013E
(bootloader) 790E02D882E757617407591CABDF4B57
(bootloader) BAEFBEAA134B853FA95597EC28312434
(bootloader) A5594228DEAF1BE2E820947DA9E69311
(bootloader) AA4794F7E08DDD3623BBB58AC9F39FFE
(bootloader) 1CF407098BB8DC8FF188EFD9832393CC
(bootloader) 6FACFA1D6E3493CF68CD8E9FCDA51310
(bootloader) 7F908E11CA3E026D4E1DDB1A6B8C6159
(bootloader) 8063B2C95609A9407E78831659D05C5C
(bootloader) F6FF1AD801045BF55916E18AC1E5CD4F
(bootloader) BE8D3E29BA05BAAFCAF9A023232258C2
(bootloader) 483629E53CE0AFB6EA9F61329091A03C
(bootloader) 87EE3C610F8638F3289D9450DA87543F
(bootloader) 2E5EC8178C9E9431A54EF38C40E8971D
(bootloader) <<<<< Identifier Token End >>>>>
OKAY [ 4.157s]
finished. total time: 4.157s
=> unlock hboot

  • On se connecte sur le site HTC dev, on récupère son code d’unlock et on flash le tél. avec

$ sudo ./fastboot flash unlocktoken ~/Downloads/Unlock_code.bin
sending ‘unlocktoken’ (0 KB)…
OKAY [ 0.141s]
writing ‘unlocktoken’…
(bootloader) unlock token check successfully
FAILED (status read failed (No such device))
finished. total time: 40.367s

=> Voilà le tél. est de nouveau rooté avec un HBOOT tout beau, tout propre, tout neuf.

    4. On flash le boot avec CWM (ClockWorkMod recovery).

  • On flash le boot avec CWM

$ sudo ./fastboot flash boot ~/Downloads/CWM.img
sending ‘boot’ (6038 KB)…
OKAY [ 0.861s]
writing ‘boot’…
(bootloader) Format partition LNX done
OKAY [ 0.560s]
finished. total time: 1.421s

  • On reboot le tél. en recovery.

    5. Installation de la ROM custom cyanogenmod.

  • Via CWM, on installe notre ROM custom qui se trouve sur la  /sdcard/
  • On flash le boot avec cette fois le boot.img de notre ROM custom (celui-ci se trouve dans le .zip de la rom, on l’extrait et on passe par fastboot pour flasher).
  • On reboot le tél. en fastboot et on flash

$ sudo ./fastboot flash boot ../../boot.img
sending ‘boot’ (5108 KB)…
OKAY [ 0.746s]
writing ‘boot’…
(bootloader) Format partition LNX done
OKAY [ 0.514s]
finished. total time: 1.260s

    6. Pour terminer, on flash le recovery avec CWM

  • Toujours sous fastboot, on flash le recovery avec CWM

$ sudo ./fastboot flash recovery recovery-clockwork-touch-5.8.4.0-endeavoru.img

On reboot le tél. et voilà !
Enjoy !