A propos de la mémoire flash Imprimer Envoyer
Écrit par Corrèze   
Mercredi, 22 Octobre 2008 20:22

La mémoire Flash de la Livebox est organisée en section. La commande Telnet étendu flash_layout permet de visualiser cette structure.

La section 0 contient le « Boot » ; il faut éviter d’y toucher ! Toute erreur a des conséquences catastrophiques.

La section 1 contient « rg_factory ». C’est un fichier qui permet au FAI de personnaliser le fichier de configuration de base qui est contenu dans le logiciel. Ce fichier est « en clair » dans la mémoire flash. La « Checksum » est calculée par la somme des « MaxSize » octets.

Les sections 2 et 3 « rg_conf » contiennent les dernières versions du fichier de configuration. La variable « Counter » permet d’identifier la plus récente (compteur le plus élevé). Le fichier de configuration est compressé (algorithme Deflate).

La section 5 contient le logiciel de secours (« RECOVERY »), dont la seule finalité est de réclamer le rechargement en ligne du logiciel principal en cas de problème sur ce dernier (refus de s’exécuter).

La section 8 (« AUTOCONF ») est utilisée pour stocker des informations relatives à la téléphonie illimitée.

Les sections 12 et 6 contiennent le logiciel principal scindé en deux parties.

La section 14 (« IMAGE ») est virtuelle.

J’ai trouvé cette information dans la documentation OpenRG (www.jungo.com).

Traduction : « Après installation d’OpenRG, quelques plates-formes ont assez d’espace sur leur mémoire Flash pour le stockage de dossier. Cependant, il sera difficile de sauver et contrôler des dossiers sur la mémoire flash, tant qu’il ne contient pas un système de fichiers. Vous pouvez résoudre ce problème en compilant une image d’OpenRG avec la version 2 de « Journalling Flash File System » (JFFS2) de système de fichiers. Quand cette image d’OpenRG est implantée dans la mémoire flash, elle crée une section additionnelle contenant le système de fichiers JFFS2, dans lequel vous pouvez de manière permanente stocker des dossiers. En s’initialisant, OpenRG crée un répertoire /mnt/jffs2 dans cette section. Ce répertoire est le point de montage de JFFS2. Après que le système de fichiers ait été monté, vous pouvez sauver des dossiers à l’annuaire /mnt/jffs2. ».

Il s’avère que ces opérations sont réalisées dans le logiciel 26014A, et que le répertoire /mnt/jffs2 est bien accessible en lecture et écriture.

Les informations sont stockées dans la section 7  (« JFFS ») de la mémoire flash (448 ko). On peut donc enregistrer et gérer des informations personnelles dans la Livebox, sans risquer d’interférer avec son fonctionnement normal, et elles résisteront même à une remise en configuration usine. 

L'utilité des sections 2 et 9 (« USER ») et 13 (« LAYOUT ») reste obscure (pour moi).

La commande flash_dump [-s section | -r address] [-l length] [-1|2|4] permet de visualiser le contenu de la mémoire flash.

Par exemple, flash_dump -s1 -l0x1000 permet de visualiser les 4096 premiers octets de la section 1. Cela permet, en particulier, de se rendre compte qu’il reste en mémoire flash des traces des anciens logiciels Sagem.

On peut, à l’aide de la commande flash_dump, éditer le contenu de la mémoire flash. Il est donc possible d’utiliser cette fonctionnalité dans un programme pour récupérer la totalité de son contenu dans un fichier, sous une forme de texte, à partir duquel on pourra reconstruire, en particulier, une image du logiciel principal, en s’appuyant, en terme de structure (début et fin) sur le modèle fourni par le logiciel 260104 (disponible sur le CDRom 8.0.3a).

J’ai utilisé cette possibilité pour disposer d’une image du logiciel 26014A que je peux, en cas de besoin, réinstaller sur une Livebox en utilisant le programme Rescue.exe 

Mise à jour le Jeudi, 23 Octobre 2008 12:42