Archivo por días: 11 noviembre 2006

Compilando programas para la fonera

Hace poco leí un artículo en barrapunto donde descubrí (un poco tarde, ya lo sé) que la fonera tenía ssh (y por ende linux embebido).

El caso es que viendo páginas como la de radikalq3 me animé a solicitar a FON su preciado router wireless (cuando aún estaba de oferta a 5 ?) para hacer «pruebas y experimentos» y de paso unirme a la comunidad FON.

La recibí ayer, y por supuesto habilité el ssh mediante hardware (cables, condensadores, MAX232 y el puerto serie). Por cierto, una vez listado todo el proceso de arranque el usuario debe pulsar INTRO para activar la consola. Una vez abierto el puerto 22 monté de nuevo la fonera y me conecté por ssh. La primera vez que entras debes entrar como root y con password admin. Posteriormente cambié la clave de root desde la web de FON en Configura tu Router Social FON/Contraseña del Router

A continuación me bajé los fuentes de la fonera http://download.fon.com/firmware/fonera/latest/fonera.tar.bz2 (unos noventa megas), los guardé en mi carpeta personal de mi servidor con mandriva 2006, los descomprimí con tar xvjf fonera.tar.bz2, ejecuté make menuconfig sin modificar nada, grabé y posteriormente tecleé make. La primera vez no me compiló, por lo que tuve que instalar varios paquetes: urpmi flex, urpmi bison y urpmi byacc.

Una vez compilados los fuentes ya solo me quedaba saber como poder compilar un programa y subirlo a la fonera. La compilación se explica en la web de OpenWRT:
http://downloads.openwrt.org/docs/buildroot-documentation.html#using_toolchain. Así que me puse manos a la obra e hice este programa llamado prueba.c el cual simplemente abre le fichero /etc/passwd y muestra su contenido (en vez de hacer el típico hola mundo):

Lo compilé con mips-linux-uclibc-gcc -o prueba prueba.c y se creó un ejecutable sin problemas. A continuación lo moví a /var/www/html para que estuviese disponible a través del servidor web apache y desde la fonera lo recuperé con wget http://192.168.0.11/prueba (notese que la ip del servidor será distinta en vuestro caso), le cambié los permisos para que se pudiera ejecutar chmod 755 prueba y finalmente lo probé funcionado perfectamente.

Espero que esto os anime a crear vuestros propios programas. Este ejecutable me ocupó unos 7 KBytes y aún tengo 7 megas de espacio libre en la fonera para añadirle nuevas cosas 🙂

Actualización 08/02/2007:

Dani, un lector del blog me comentó que la fonera solo tiene 4 megas libres de espacio de almacenamiento permanente (y no 7 megas como había escrito en el artículo). Después de hacer dos experimentos que podéis leer en los comentarios de este blog la capacidad real de la fonera con el firmware de FON es de 5 MB. Gracias Dani por forzarme a experimentar 😉