|Portada|Blog|Space|

[Índice] > Programar para el wrt

Disculpen primero si esta entrada en el blog no queda clara, esto es
culpa de que la estoy posteando desde el teléfono, y andar corrigiendo
no es cosa fácil.

Les comento, como voy a dar una charla en el software freedom day, aquí
en montevideo, cuyo título será "Flasheando el WRT", decidí estar bien
preparado para la charla y ponerme como objetivo hacer muchas cosas
locas de forma de aprender algunos detalles.

Una de esas cosas locas que estoy haciendo es justamente lo que en esta
entrada les pienso contar: Como programar para los puntos de acceso
inalámbrico WRT54GL.

El tema es así, para poder empezar a pensar en programar van a precisar
un entorno GNU/Linux completo, esto incluye muchos paquetes de
desarrollo. Después van a precisar por lo menos 1.5GB libres de disco
para poder bajar el entorno de desarrollo del openwrt.

El entorno de desarrollo contiene el compilador y las herramientas
necesarias para poder cross-compilar hacia el wrt (cross-compilar se le
llama al proceso de generar un ejecutable para una arquitectura desde
otra). En este caso se hace indispensable cross-compilar porque es
ridículo pensar en compilar el kernel de linux cuando sólo tenemos 3mb
de memoria flash y 16mb de ram (no pudiendo usar swap)

Para compilar el entorno de desarrollo se deberá ejecutar make
menuconfig y elegir la opción de crear el entorno de desarrollo.
Realmente nada del otro mundo.

Para programar se podrá usar cualquier lenguaje siempre y cuando sé
considere el espacio necesario para sus bibliotecas. Por tanto programar
en C el la opción más adecuada.

OpenWRT trae la uClibc y no la glibc obviamente por el tamaño descomunal
de esta última.

Para compilar entonces basta con agregar a la PATH la ruta de los
binarios del toolchain (el conjunto de herramientas GNU que vamos a
necesitar), y en lugar de usar para compilar el gcc se deberá usar el
mipsel-linux-uclibc-gcc (o algo así).

Listo, el resto es igual  :)


---------
Los documentos en este sitio se encuentran licenciados bajo la GFDL.
Ver comentarios: [Hay i comentarios]
Para agregar un comentario: agregue a la URL: ?do=show_comment_form (explicación)