vendredi 7 septembre 2012

Karotz - RootFS Access


Avant-propos : Le système du Karotz est flashable a l'aide d'une clé usb. On utilisera donc cette méthode pour accéder temporairement à son système et ajouter un accès telnet...

Note : Pour un accès permanent au système par Telnet voir ce post sur la mise à jour du système RootFS.

On ajoutera au script autorun quelques commandes systèmes simples à titre d'exemples, sachant que le telnet nous donne directement un accès root au système :
  • lister l'arborescence des fichiers du système : ls -LR > /mnt/usbkey/dir.txt
  • lister les commandes disponibles de la BusyBoxbusybox >  /mnt/usbkey/bbox.txt
  • extraire les sources des applications installées depuis le store Karotz : tar -cvf /tmp/karotz_apps.tar /usr/karotz/apps/
  • monter le service telnet : /sbin/inetd ... -l /bin/sh
  • monter des partages nfs, etc...
Procédure :
  1. Décompresser le fichier karotz_usb_boot.zip à la racine d'une clé usb
  2. Modifier le script autorun si nécessaire
  3. Insérer la clé derrière le Karotz
  4. Re-démarrer le Karotz (switch off/on) ou envoyer la séquence {"cmd":"reboot"} sur son port série - cf http://wizz-cc.blogspot.fr/2012/09/karotz-tips-and-tricks.html
  5. ... waiting while karotz is working...
  6. Enlever la clé usb (lorsque le script est terminé - led en violet) et analyser les divers fichiers obtenus dans le répertoire dump pour info
  7. Se connecter root en telnet...
  8. Désactiver les mises à jour, etc... cf /karotz/scripts/update_rootfs.sh et update_yaffs.sh
Note : Pour ceux qui utilisent le port usb en interface ethernet, laisser le "sleep 15" à la fin du script pour avoir le temps de débrancher la clé pour remettre le connecteur ethernet... En effet, à la fin de l'exécution du  script de "boot usb", le sytème continue normalement ses séquences pour monter le réseau par l'intermédiaire du script /usr/yaffs_start.sh et surtout /usr/bin/python /usr/scripts/wait_until_connected.py

La version installée d'origine de la BusyBox a été néttoyée... Pas de serveur ftpd, httpd... En revanche, beaucoup de possibilité offerte par python qui est largement utilisé dans le système du Karotz.

On devra donc modifier le système original du Karotz et y installer une version RootFS "améliorée" avec en prime les services ftpd, httpd... en reflashant la partition /dev/mtd2. Voir ce post

5 commentaires:

  1. Bonsoir,

    Je suis très intéressé par cette solution. Je suis en train de voir comment je pourrais plus utiliser mon karotz et je pense que ce genre d'ouverture permettrait de booster l'utilisation du karotz.

    J'ai un soucis, j'ai préparé ma clé USB, quand je reboot mon karotz, il ne prend pas en compte la clé. Avez-vous des idées sur comment débugger ?

    Merci

    Philippe

    RépondreSupprimer
  2. Bonjour,
    Si la clé est préparée Sous windows, rien de particulier si ce n'est la formater en fat32 de préférence.
    Sous linux, peut-être mettre les droits d'exécution sur le script autorun : chmod +x autorun
    ou alors changer de clé...

    RépondreSupprimer
  3. Bonjour,

    Je viens de suivre la procédure, cependant quand je tente de me connecter, il me dit que la connexion a été refusée...

    Que faire ?

    Merci d'avance

    RépondreSupprimer
  4. Bonjour,
    Il faut se connecter en telnet (port 23) -et non ssh- avec le login wizz ou karotz.

    RépondreSupprimer
  5. Bonjour,
    Je confirme le problème de la clef USB (même celle livrée avec Karotz).
    cela faisait plusieurs semaines (année ?) que j'avais laissé tomber le ROOT, n'arrivant pas à le faire booter sur la clef.
    Et le simple changement de clef USB a résolu mon problème !

    RépondreSupprimer