Rooter Karotz, le lapin Wi-Fi

Le Karotz, on en a déjà parlé, est basé sur une carte de développement ARM avec un système GNU/Linux en interne. Si Violet ne fournit pas de quoi se connecter dessus (ni même les sources…), certains ont trouvé comment passer outre et comment rooter un Karotz. Ce qui suit est une compilation de ce que propose Wizz.cc sur son blog.

Première chose, il faut un lapin qui fonctionne, connecté au réseau Wi-Fi (ou en Ethernet). On va aussi avoir besoin d’une clé USB, idéalement un modèle de moins de 4 Go, formatée en FAT32 et avec un schéma de partition MBR.

Comme expliqué là, on va d’abord rooter temporairement le lapin.

Il faut donc télécharger ce fichier et le décompresser à la racine de la clé USB.
Il faut ensuite brancher la clé à l’arrière du Karotz et le redémarrer, avec la molette.
Quand le Karotz redémarre, il faut simplement attendre que la LED ventrale passe au violet et retirer la clé.

Maintenant, le Karotz est rooté, tout du moins temporairement.

Pour tester si ça fonctionne, il suffit de se connecter dessus, après avoir obtenu son adresse IP (par exemple avec Fing).

telnet IP_du_Karotz

Maintenant, si ça fonctionne, on va rendre le root permanent.

cd /usr/karotz
wget http://karotz.wizz.cc/rootfs.wizz.120719r1.img.gz
wget http://karotz.wizz.cc/rootfs.wizz.120719r1.img.gz.md5

Une fois les deux fichiers téléchargés, il faut vérifier l’intégrité des données.

md5sum rootfs.wizz.120719r1.img.gz
cat rootfs.wizz.120719r1.img.gz.md5

Les deux valeurs renvoyées doivent êtres identiques.
Ensuite, on flash, et on espère qu’il n’y a pas de coupure de courant.

/sbin/flash_eraseall /dev/mtd2
/sbin/nandwrite -pm /dev/mtd2 rootfs.wizz.120719r1.img.gz

Maintenant, on redémarre le lapin.

reboot

Là, le lapin est rooté. Il suffit de se connecter en Telnet (pas en SSH) pour obtenir ça. Le login est soit karotz soit wizz.

Capture d’écran 2013-02-17 à 18.01.00

Pour vérifier que ça fonctionne, on peut notamment jouer sur la LED.

On tape la première commande, qui va donner deux processus. Il fait ensuite tuer celui dont la commande est /usr/karotz/bin/immortaldog /var/run/karotz/led.pid /usr/karotz/bin/led-daemon.

ps | grep led.pid
kill xxxx

La commande suivante modifie la couleurs de la LED (il suffit d’entrer la valeur de la couleur en hexa).

/karotz/bin/led -l ff00ff

Pour une respiration, il faut définir la couleur de base, la seconde couleur et la période en millisecondes. Avec la commande suivante, on peut par exemple imiter la LED de veille d’un Mac. La LED de mon Karotz ayant tendance à tirer vers le rouge, j’ai du modifier la valeur…

/karotz/bin/led -l 66ffff -p 000000 1400

Sur la vidéo, elle semble rose, dans la réalité, elle est blanche.

Enfin, pour terminer, la technique pour revenir au firmware original.

cd /usr/karotz
wget http://karotz.wizz.cc/rootfs.violet.120719r0.img.gz
wget http://karotz.wizz.cc/rootfs.violet.120719r0.img.gz.md5

md5sum rootfs.violet.120719r0.img.gz
cat rootfs.violet.120719r0.img.gz.md5

/sbin/flash_eraseall /dev/mtd2
/sbin/nandwrite -pm /dev/mtd2 rootfs.violet.120719r0.img.gz

Je vais essayer de revenir plus tard sur ce qu’il est possible de faire avec un Karotz rooté, mais wizz.cc propose des choses intéressantes.