Flasher sa tablette Rockchip sous Linux – Android 4.2.2

0

2Tablette-chinoise.net ne pourra être tenu responsable en cas de problème sur votre tablette, ni moi-même d’ailleurs !
Pour toute manœuvre root, flash, etc, vos tablettes doivent impérativement être a plus de 50 % de batterie. Mieux vaut brancher électriquement votre tablette. Risque de brickage

Plus qu’un tutoriel décrivant pas-à-pas, voyez cette page comme étant un récapitulatif d’informations utiles, un « HOWTO » descriptif.

Pré-requis :

  • Que votre tablette soit en mode « Débogage USB » – (cf : Activer le mode développeur sous Android)
  • Avoir installer les outils adb, et fastboot, en suivant le tutoriel « Faire reconnaître sa tablette sous Linux« , ou en l’adaptant selon votre distribution GNU/Linux …
  • Téléchargez l’outil « Linux Upgrade Tool » : http://wiki.radxa.com/Rock/flash_the_image#Linux
  • Téléchargez l’outil rkflashtool : http://sourceforge.net/p/rkflashtool/Gi … ster/tree/
    • NE PAS PRENDRE L’ARCHIVE 5.1 : il manque le fichier ‘version.h’ !
    • Téléchargez l’outil en cliquant sur le bouton [ Download Snapshot ]
    • Une fois téléchargé, décompressez l’archive zip où vous le désirez, puis allez dans le répertoire de l’archive décompressée.

IMPÉRATIF : Selon votre distribution GNU/Linux, installez la bibliothèque de développement suivante : libusb-1.0-0-dev

En mode console, dans le répertoire en question, tapez le code suivant :

make

Vérifiez qu’il n’y ait pas de message d’erreur !

  • Si vous voyez ce message d’erreur à-propos de -lusb :

$ make
gcc -O2 -W -Wall rkcrc.c -o rkcrc -s -lusb-1.0
rkcrc.c: In function ‘main’:
(...)
/usr/bin/ld: ne peut trouver -lusb-1.0
collect2: error: ld returned 1 exit status
make: *** [rkcrc]Erreur 1

Veuillez relire l’IMPÉRATIF cité juste au-dessus !

  • S’il y en a d’autres, contactez les auteurs de l’outil… nous ne pouvons rien y faire

Téléchargez l’outil rktools : https://github.com/rk3066/rk-tools

  • Téléchargez l’outil en cliquant sur le bouton [ Download ZIP ]
  • Une fois téléchargé, décompressez l’archive zip où vous le désirez, puis allez dans le répertoire de l’archive décompressée.
  • IMPÉRATIF : Selon votre distribution GNU/Linux, installez les bibliothèques de développement suivantes : libssl-dev libcrypto++-dev
  • En mode console, dans le répertoire en question, tapez le code suivant :

make

Vérifiez qu’il n’y ait pas de message d’erreur !

  • Si vous avez ce message d’erreur relatif à la lcrypto :

$ make
gcc -g -O2 -DUSE_OPENSSL -o afptool afptool.c -lcrypto
/usr/bin/ld: ne peut trouver -lcrypto
collect2: error: ld returned 1 exit status
make: *** [afptool]Erreur 1

 

Veuillez relire l’IMPÉRATIF cité juste au-dessus !

  • S’il y en a d’autres, contactez les auteurs de l’outil… nous ne pouvons rien y faire

Utilisation des outils

 ADB

L’outil ADB va nous servir simplement à redémarrer la tablette dans le mode nécessaire : le mode bootloader…
Dans votre terminal console, tapez :

adb reboot-bootloader

Cette action peut bien sûr être commise, par logiciel tel que « Quick Boot » qui nécessite que la tablette soit rootée – je ne traiterai pas plus ce sujet !

Astuce : ADB peut servir à sauvegarder vos partitions, pour cela, il faut utiliser l’outil RKDump fourni par Androtab.info !

Concernant les tablettes Rockchip, oubliez l’usage de l’outil fastboot – cet outil ne fonctionne pas avec … mais heureusement :

rkflashtool

Cet outil nous permet donc de flasher et/ou sauvegarder les « partitions » de nos tablettes.
Il s’utilise aussi en mode terminal console.
De même, il est nécessaire d’être dans le mode bootloader afin qu’il fonctionne, sinon il ne trouvera pas correctement votre tablette !

IMPERATIF : ON NE RAPPELLERA JAMAIS ASSEZ L’IMPORTANCE DE SAUVEGARDER VOS DONNÉES AVANT DE FAIRE TOUTE AUTRE ACTION … Utilisez pour cela des logiciels, comme Titanium Backup, par exemple – CELA EST DE VOTRE STRICTE RESPONSABILITÉ PERSONNELLE !

rkflashtool ne permet pas de flasher le loader RKLoader*.bin, ni de faire l’action nommée ‘Erase NAND (IDB)’ – ces actions, si vous en avez un réel besoin, ne peuvent s’exécuter qu’avec le système d’exploitation MS Windows, et un logiciel comme RKAndroidTools, par exemple !

Mode bootloader

Dans le mode bootloader, la tablette semble éteinte ; en effet, l’écran est tout noir, et aucune des touches – s’il y’en a – ne réagit !
De même, dans ce mode, l’outil adb ne sera d’aucune utilité.

Sauvegarder vos partitions :

Les partitions importantes à sauvegarder sont :

  • boot
  • Kernel
  • misc
  • recovery
  • system

Cela ne vous empêche en rien de sauvegarder l’ensemble de vos partitions.

Pour connaître vos partitions, il est nécessaire de récupérer les paramètres de celles-ci.

$ ./rkflashtool p > parameter
rkflashtool: info: rkflashtool v5.1
rkflashtool: info: Detected RK3188...
rkflashtool: info: interface claimed
rkflashtool: info: reading parameters at offset 0x00000000
rkflashtool: info: rkcrc: 0x4d524150
rkflashtool: info: size:  0x00000257

Cette commande les récupère et les écrit dans un fichier nommé ‘parameter’. Libre à vous de donner un autre nom à ce fichier …

Le fichier ‘parameter’ a cette forme :

FIRMWARE_VER:4.2.2
MACHINE_MODEL:M8HD
MACHINE_ID:007
MANUFACTURER:RK30SDK
MAGIC: 0x5041524B
ATAG: 0x60000800
MACHINE: 3066
CHECK_MASK: 0x80
KERNEL_IMG: 0x60408000
#RECOVER_KEY: 1,1,0,20,0
CMDLINE:console=ttyFIQ0 androidboot.console=ttyFIQ0 init=/init initrd=0x62000000,0x00800000 mtdparts=rk29xxnand:0x00002000@0x00002000(misc),0x00008000@0x00004000(kernel),
0x00008000@0x0000C000(boot),0x00010000@0x00014000(recovery),0x00020000@0x00024000(backup),
0x00040000@0x00044000(cache),0x00800000@0x00084000(userdata),0x00002000@0x00884000(kpanic),
0x000ef000@0x00886000(system),-@0x00975000(user)

Dans l’immédiat, la ligne importante est la ligne commençant par l’instruction CMDLINE.
Les informations à utiliser sont celles-ci :
0x00002000@0x00002000(misc),0x00008000@0x00004000(kernel),0x00008000@0x0000C000(boot),
0x00010000@0x00014000(recovery),0x00020000@0x00024000(backup),0x00040000@0x00044000(cache),
0x00800000@0x00084000(userdata),0x00002000@0x00884000(kpanic),0x000ef000@0x00886000(system),
-@0x00975000(user)

Déconstruisons-les :

0x00002000@0x00002000(misc)
0x00008000@0x00004000(kernel)
0x00008000@0x0000C000(boot)
0x00010000@0x00014000(recovery)
0x00020000@0x00024000(backup)
0x00040000@0x00044000(cache)
0x00800000@0x00084000(userdata)
0x00002000@0x00884000(kpanic)
0x000ef000@0x00886000(system)
-@0x00975000(user)

  1. Le nom dans les parenthèses est le nom de la partition en question.
  2. La première série de chiffre avant le symbole ‘@’ est la partie correspondante à la taille de la partition. Dans le cas de la partition ‘user’, vous remarquez l’usage du symbole ‘-‘, cela signifie toute la taille restante …
  3. La seconde série de chiffre après le symbole ‘@’ et avant la parenthèse ouvrante est la partie correspondante à l’offset – autrement dit, la position de la partition.

Maintenant que nous avons récupéré ces informations, nous allons pouvoir sauvegarder nos partitions en utilisant la bonne option de l’outil rkflashtool :

./rkflashtool r offset size > nom_partition

Exemple, selon le fichier ‘parameter’ récupéré, nous allons pouvoir sauvegarder nos partitions ainsi :

./rkflashtool r 0x00002000 0x00002000 > misc
./rkflashtool r 0x00004000 0x00008000 > kernel
./rkflashtool r 0x0000C000 0x00008000 > boot
./rkflashtool r 0x00014000 0x00010000 > recovery
./rkflashtool r 0x00886000 0x000ef000 > system

Flasher !

Pour flasher, il faut utiliser l’outil rkflashtool, cette fois-ci avec des droits administrateurs.

Il est nécessaire de flasher en premier le fichier ‘parameter’.

./rkflashtool w 0x0 0x2 < parameter

Puis ensuite, les partitions, selon les informations fournies dans le fichier ‘parameter’.

./rkflashtool w 0x00002000 0x00002000 < misc

Faites de même pour les autres partitions !

Flasher une ROM originale

Pour flasher un ROM originale, telle que l’officielle, il est d’abord nécessaire d’utiliser les outils rktools, avant d’utiliser l’outil rkflashtool !

Vous trouverez les images officielles pour PIPO : http://www.pipo.cn/En/index.php?m=About&a=gujian

Dirigez-vous, en terminal console, dans le répertoire des outils rktools précédemment installés !

  1. Le premier outil est img_unpack. Il s’utilise ainsi :
    ./img_unpack fichier.img fichier.img_unpack
  2. Le deuxième outil est afptool, à utiliser ainsi :
    ./afptool -unpack fichier.img_unpack repertoire_de_sauvegarde

    Bien sûr, ‘repertoire_de_sauvegarde’ est un nom à choisir. Afptool créera le répertoire selon le nom que vous lui donnerez.

Une fois que vous avez fait ces opérations sur l’image officielle, ROM originelle, ou ROM update, il vous faut flasher, d’abord le fichier ‘parameter’, puis, chaque partition selon les informations du fichier ‘parameter’ fourni.

Flasher une ROM Custom

Pour flasher une ROM Custom, telles que les RileyROM, FinlessRom, il suffit de décompressez l’archive de la ROM, de se diriger dans le bon répertoire de celle-ci, puis d’utiliser à nouveau l’outil rkflashtool, en écriture avec toujours des droits administrateur.

./rkflashtool w 0x0 0x2 < RileyRom/parameter
./rkflashtool w 0x00002000 0x00002000 < RileyRom/misc

Autres usages de rkflashtool !

Un des usages importants de l’outil rkflashtool est à utiliser quand vous avez fini de flasher votre tablette.
Celui de redémarrer votre tablette :

./rkflashtool b

Aucun besoin de droits administrateurs pour cela !

—-
Voilà, j’espère avoir fait le tour minimal des informations nécessaires. Tuto à relire à froid !
—-

Autres outils

RKZen

RKZen est un outil que j’ai créé. Scripts Bash – qui sait utiliser Zenity, s’il est installé.

Le dépôt GIT : https://github.com/hucste/RKZen

Le propos est d’utiliser les outils de ce tutoriel, et de faciliter leur usage, soit en mode console, soit semi-console + zenity.
Ce projet est récent, et je ne peux garantir l’efficacité de l’outil, surtout concernant les menus de flash d’image ROM, qu’elle soit Custom ou Originale. Outil en phase de test !

Si vous avez un soucis avec … venez en parlez à la suite de ce post ;)

Rkflashkit

L’outil rkflashkit est l’équivalent de rkflashtool, à la différence près que son usage est entièrement graphique !
Outil en langage python qui utilise l’interface GTK.

Le dépôt : https://github.com/linuxerwang/rkflashkit

Téléchargez-le, et suivez les informations du fichier README.

Nous n’assurons aucun soutien !

—-

Android 4.4.x

RockChip Linux Upgrade Tool

Rockchip vient de mettre à disposition un nouvel outil pour flasher sous Linux, au même titre que sous Windows. Cet outil s’appelle « Rockchip Linux Upgrade Tool ».
Il est donc capable de flasher le loader RKLoader*.bin, d’effectuer l’opération d’effacement ‘Erase NAND (IDB), etc…

Plus d’informations, vous trouverez notre tutoriel « Flasher sa tablette Rockchip sous Linux – Android 4.4.x » :D

—-

Pour rooter votre tablette sous Linux, et Mac OS, lisez le guide !

—-

Partager cet article !

Laisser un commentaire