Si on peut trouver un défaut sur le WRT54g, c'est bien la taille de la mémoire embarquée... :-(
Après l'installation d'OpenWRT, on se retrouve avec à peine 1,5Mo de libre, plutôt étroit quand les disques actuels font + de 500Go ;-)
Je voulais installer Kismet pour détecter d'éventuels voisins Wifiste et aussi SNMPD pour la carte du réseau. Avec moins de 700ko libre avant l'opération, je me serais retrouvé avec moins de 200ko par la suite. Dommage pour un système qui propose énormément de paquets.

J'ai donc trouvé une solution (je ne prétend pas que c'est la meilleure!), qui consiste à utiliser la partition /tmp. /tmp est une partition montée sur la RAM du WRT, il s'agit donc d'une mémoire volatile. L'idée consiste à récupérer les fichiers à distance, et de les placer sur cette partition. Evidemment, cette technique ne fonctionne tant que le WRT est en fonctionnement ;-).

Voici comment j'ai procédé pour kismet (idem pour snmpd et pour n'importe quel paquet au final!):

  • Decompression des paquets .ipk d'OpenWRT, sur une autre machine. (attention au dépendances, tous les paquets dont dépend le paquet à installer sont à décompresser!)
  • Ensuite il faut créer des liens symboliques à la racine d'OpenWRT, correspondants aux fichiers décompressés. Les liens pointants vers des fichiers de même nom dans un répertoire par exemple /tmp/mnt/kismet/ (si c'est pas compréhensible, vaut mieux tout lire dans un premier temps!(
  • Faire en sorte que la machine distante soit accessible par SSH
  • Installer le support de SHFS sur OpenWRT : ipkg install kmod-shfs shfs-utils
  • Charger le module pour le noyau : insmod shfs
  • Monter le répertoire distant où se trouvent les archives décompressées : shfsmount user@host:/remote/dir /some/local/mountpoint
  • Copier les fichiers décompréssés dans le répertoire cible des liens symboliques


A ce point, c'est terminé, les fichiers copiés sont normallement la cible des liens symboliques. La copie n'est pas obligatoire mais dans ce cas, la machine distante doit rester en ligne tant que l'on utilise les fichiers.
Pour conclure, cette technique a permis de déporter les fichiers binaires dans la RAM pour limiter l'espace mémoire consommé.