Tablettes Android ... ce qu'on nous réserve, exemple avec l'acer iconia a500

android-in-jail.jpg Attention, ça fait longtemps que je n'ai pas blogué technique, là c'est du poilu.

quoi, une tablette ?

Pour plein de raisons que je n'ai pas envie de détailler, je perds du temps sur les tablettes tactiles depuis plus d'un an. C'est mon côté "veille techno".

L'an dernier déjà j'ai bossé sur une tablette à processeur intel, en bref, lente, bruyante, le cpu chauffe, il a donc un ventilateur pour le rafraîchir ... pas terrible.

Cette année je me suis décidé à investir dans une tablette à processeur ARM, mon choix s'est porté sur la Acer Iconia A500 qui était l'une des meilleures il y a quelques mois et qu'on trouve maintenant pour pas très cher sur le marché de l'occasion.

oui mais je veux qu'elle soit libre (ma tablette) !

Changer de version d'android ?

C'est un peu compliqué mais ça semble possible, il semblerait même possible de ne pas installer la mise à jour du constructeur mais une autre, faite par une communauté de développeurs/hackers.

Pour regarder ce qui se trouve sous le capot je me lance dans l'aventure

problème zéro: être root sur la tablette

C'est le point de départ obligé, tout le reste est lié, en fait on fait une sorte d'escalation de privilèges les uns après les autres. Mais avant tout il faut être root sur la tablette.

Pour le coup c'est super simple, il suffit de télécharger et lancer l'application iconiaroot-1.3.apk

Ouf, si tout pouvait être aussi simple ... je croise les doigts pour la suite.

1er problème, changer de système d'amorçage ?

Mais tu viens du monde du pc mon vieux c'est pas possible, nous chez iconia/arm/android (c'est flou et je pense que c'est un peu fait exprès) c'est pas possible de choisir ce que l'utilisateur veut au démarrage, d'ailleurs il ferait sans aucun doute n'importe quoi s'il avait le choix (par exemple il pourrait avoir envie d'installer un autre système d'exploitation) !

On est dans le domaine de la vente liée à mort. Ce que je craignait depuis des années est en train d'arriver par le téléphone qui est devenu tablette puis ordinateur (il existe déjà des ordinateurs portables sous android).

Avec nos vieux PC on a un "truc" au démarrage: le BIOS qui permet basiquement de choisir si on souhaite démarrer l'ordinateur sur le CDROM, le disque dur, la clé usb, la carte réseau ... la RIEN, aucun choix, NADA, ça démarre vite et c'est tout, mais ça démarre sur un seul point de démarrage.

Il faut donc installer un casseur de système d'amorçage. Pour celà il faut utiliser l'android SDK et lancer les commandes suivantes:

./adb push /tmp/its/itsmagic /data/local
./adb shell

$ su -
# chmod 755 /data/local/itsmagic
# /data/local/itsmagic
Some magic trick by @sc2k on xda
it tricks the bootloader to run any kernel you want.
Thx @Acer for making this so easy..  why did you say the BL is locked if it isn't? :D

USE AT YOUR OWN RISK!

Done. Have fun!

Puis ensuite installer un système d'amorçage un peu plus évolué que celui qui est fournis d'usine (et qui ne fait que booter, sans offrir de choix du tout).

./adb push /tmp/recovery-ra-iconia-3.17-gnm.img /sdcard/recovery.img
./adb shell
$ su
# dd if=/sdcard/recovery.img of=/dev/block/mmcblk0p1
9988+0 records in
9988+0 records out
5113856 bytes transferred in 1.452 secs (3521939 bytes/sec)
# sync
# reboot recovery

Et voilà, 1ere étape de faite, j'ai un système d'amorçage qui permet de bricoler ...

Second problème, le système d'exploitation

Maintenant, je veux avoir un autre système d'exploitation ... je vais commencer par simple, j'essaye d'installer android 4 à la place du 3.1 livré sur la tablette, ça me semble déjà assez compliqué comme ça :o)

J'ai bien trouvé un fichier "Acer_AV041_A500_1.054.00_WW_GEN1-DEODEXED-FULLROOT.zip" qui est sensé contenir la mise à jour que certains utilisateurs de A500 ont déjà reçue.

Je copie ce fichier sur la sdcard (2Go, parait-il qu'il n'en faut pas une trop grosse), et dans le menu de mon nouveau bootloader (accessible en appuyant sur la touche volume bas + power et en la gardant appuyée jusqu'à avoir le menu) je peux choisir d'installer un nouveau système (ROM dans leur langage) à partir d'un ZIP ... je clique et pense après coup que je n'ai pas le moindre backup :)

Ça semble bien se passer, reboot ... et rebelote "Secure boot: image LNX checksum fail!" bon sang dans le genre emmerdeurs ça commence à me courir sur le système, je suis face à un truc qui ressemble plus à une console de jeux vidéo (voir la guerre entre sony et les hackers) qu'à un bidule informatique, je prends une grands claque et j'ai sous les yeux un exemple parfait de pourquoi il faut absolument se battre contre les conneries du genre secureboot et autres lois qui permettraient de rendre légales (et donc systématiques) ces pratiques.

Je retourne dans mon boot de récupération avec le bouton power + volume bas d'appuyés et cherche dans le menu "Other" une entrée "Fix Permissions" qui tourne un peu à la recherche des UID ... je reboote à nouveau (bon sang, me voilà bien con sans mon backup).

"Secure boot: image LNX checksum fail!"

Je pars à la recherche d'une ROM officielle d'ACER; j'en trouve une tartine sur http://forum.xda-developers.com/showthread.php?t=1113878 et je n'ai aucune idée de laquelle prendre, je fais un peu au pif, copie ce fichier sur la sdcard et retourne dans mon menu qui permet d'installer à partir du zip. Je découvre que les ROM officielles ACER sont empaquetées dans des ZIP CRYPTÉS ! c'est vraiment du grand n'importe quoi.

Je suis de plus en plus triste de constater la dérive du système, je ne comprends pas pourquoi tant d’énergie est perdue à rendre l'installation d'un logiciel impossible sur un équipement matériel, ce qui peut pousser des entreprises à crypter des fichiers à destination de leurs utilisateurs ... c'est le monde du logiciel propriétaire dans toute sa splendeur, qu'on vienne me dire qu'android est ouvert ou libre, c'est jouer sur les mots, certes le noyau est fondé sur le noyau linux mais si je devais faire simple, il manque gnu.

Richard a tellement raison, c'est gnu et linux qui est important, android c'est linux sans gnu et c'est pas beau à voir.

Pour en revenir à mon fichier zip crypté, les hackers de XDA ont développés un outil pour les casser, pas de bol, c'est un exe pour windows ... tant pis, je tente ma chance avec un fichier qui n'arrive pas du même serveur vu que j'ai lu "If you have an error opening the zip file, use Acer Update Decryter to decrypt the file, and try to open it again. Files downloaded from "cdn.acer.futuredial.com" have to be decrypted for exemple."

En fait il suffit de comprendre ce qu'on fait et surtout de comprendre à quoi servent les différents outils ... itsmagic est la pour nous permettre de lancer "n'importe quoi", je schématise, il suffit donc de le relancer :)

Pensez à monter les partitions /data /system etc. via le menu du bootloader et ensuite lancez itsmagic !

./adb push /tmp/itsmagic /data/itsmagic
./adb shell

# chmod +x /data/itsmagic 
# /data/itsmagic 
Some magic trick by @sc2k on xda
it tricks the bootloader to run any kernel you want.
Thx @Acer for making this so easy..  why did you say the BL is locked if it isn't? :D

USE AT YOUR OWN RISK!

Done. Have fun!
# reboot
reboot returned

et zouplaaaaaaaaaaaa voilà une nouvelle version d'android qui arrive !

Et un autre OS ? un petit gnu/linux pour la liberté ?

Hé bien je pense que ça fera l'objet d'un autre billet, celui-ci est déjà assez long comme ça mais soyez sûr d'une chose, l'android installé, c'est certain que je ne vais pas l'utiliser !

Téléchargements disponibles avec ce ticket:

  • itsmagic et son code source en C
  • recovery-ra-iconia-3.17-gnm qui est le boot loader que j'ai utilisé

Sources d'infos, parce-que c'est quand même un bon gros bordel

  • http://forum.xda-developers.com/showthread.php?t=1129873
QR code
Send to friend

Ajouter un commentaire

Le code HTML est affiché comme du texte et les adresses web sont automatiquement transformées.