lunes, 24 de marzo de 2014

Compilando C/C++ para La Fonera (MIPS)

En esta entrada quiero mostrar lo sencillo que es programar en C/C++ para la Fonera (arquitectura MIPS). En la Fonera que cogí, ya tengo instalado dd-wrt, pero da exactamente igual que se tenga OpenWRT. Hay muchos manuales por Internet para flashearlas.

Para compilar, una de las opciones es aumentar el espacio de almacenamiento de la Fonera e instalar el SDK allí. La otra opción, mucho más simple, es compilar en nuestra máquina y moverlo a la Fonera con un simple "scp", así que vamos a por esta segunda opción.

Si estás usando dd-wrt, debes activar el servicio SSH a través de su interfaz web.

Lo primero que tenemos que hacer es descargar el SDK de la página de OpenWRT para x86_64 (mirror), descomprimirlo en una carpeta, e introducir la ruta del mismo en el PATH del sistema:
 wget http://downloads.openwrt.org/kamikaze/7.06/atheros-2.6/OpenWrt-SDK-atheros-2.6-for-Linux-x86_64.tar.bz2  
 tar xvjf OpenWrt-SDK-atheros-2.6-for-Linux-x86_64.tar.bz2  
 export PATH=$PATH:~/OpenWrt-SDK-atheros-2.6-for-Linux-x86_64/staging_dir_mips/bin/  

Después, creamos un "Hola Mundo!", guardando como hello_world.c:
 #include <stdio.h>  
   
 int main()  
 {  
   printf("Hello World!\n");  
   return 0;  
 }  
   

Y lo compilamos:
 mips-linux-gcc hello_world.c -o hello  

Si en lugar de código en C, queremos compilar código en C++, el comando sería el siguiente:
 mips-linux-g++ hello_world.cc -o hello  


Lo mandamos a La Fonera con "scp" (la contraseña solicitada es la del panel de administración, y el usuario siempre root, da igual el que uses en la interfaz web):
 scp hello root@192.168.1.X:  

Entramos a la Fonera (nos pedirá la contraseña del panel de administración web, de nuevo):
 ssh root@192.168.1.X   

Y probamos nuestro "Hola Mundo!"
 root@fonera:~$ ./hello  
 Hello World!  

Et voilà!

No hay comentarios:

Publicar un comentario