Written by: on 07/02/2010 @ 19:18

    Aunque hace un tiempo ya se escribio un articulo respecto a este tema, he decido volver a reescribir en base a la cantidad de cambios que se han ido produciendo al cabo de estos años y adaptarlo a alguna distribucion mayoritaria. Mas concretamente, este tutorial esta destinado para aquellos desarrolladores ansiosos de hacer sus propios programas, o compilar otros ya existentes, bajo Ubuntu 9.10 (Koala Karmic).

 

Preparando el entorno

    Lo primero que debemos de hacer es instalar los paquetes necesarios para compilar las SDK, esto lo hacemos mediante un gestor de paquetes, bien desde el entornos grafico o bien desde linea de comandos.Paro antes de esto, existe inciso que no podemos olvidar, dado que gcc 4.4 ha pasado a ser el compilador por defecto nos presente un problema, dado que las SDK estan preparadas para compilarlas mediante gcc 3.4. Pero no hay problema, por que todo es solventable, primero agregaremos a nuestro /etc/apt/sources.list un repositorio antiguo, mas concretamente Jaunty.

deb http://es.archive.ubuntu.com/ubuntu/ jaunty main  universe

 Actualizamos los repositorios

sudo apt-get update 

 Instalamos los paquetes pertinentes

sudo apt-get install gcc-3.4 g++ binutils patch bzip2 flex bison make gettext pkg-config unzip libz-dev

 

Cambiamos el compilador por defecto 4.4 por el 3.4

sudo rm /usr/bin/gcc
sudo ln -s /usr/bin/gcc-3.4 /usr/bin/gcc

NOTA: Al acabar, si queremos, se puede restaurar la version gcc:

sudo rm /usr/bin/gcc
sudo ln -s /usr/bin/gcc-4.4 /usr/bin/gcc

 
 
Compilando las SDK
 
   Enhorabuena, ya lo tienes casi en tu mano, ahora vamos a descargar las SDK y compilarlas. Primero cambiamos de directorio y obtenemos el codigo:
 
cd /usr/src/
sudo mkdir /usr/src/fonera
cd fonera
wget http://download.fon.com/firmware/fonera/latest/fonera.tar.bz2
 
   Ahora descompimimos el fichero descargado:
tar jxvf /another/where/fonera.tar.bz2
 
   Y procedemos a su compilacion:
make V=99
 
   Este proceso puede durar bastantes minutos, nada mas lanzar el comando  nos saldra un menu de configuracion, si deseamos alguna especifica podemos modificarlo y readaptarlo, si no, directamente podemos salir y quedara la configuracion por defecto. Pasado un tiempo ha de terminar la compilacion con exito.
 
  Para dejar todo mas facil de trabajar, puedes poner la ruta donde hemos compilado las SDK, como variable del entorno, y asi no tener que ir al susodicho directorio cada vez que queramos compilar
PATH=$PATH:/usr/src/fonera/staging_dir_mips/bin
export PATH
 
 
Compilando nuestro primer programa
 
En este punto ya tenemos el compilador disponible, para comprobarlo ejecuta:
mips-linux-uclibc-gcc  -v
Y obtendremos algo similar a:

Configured with: /usr/src/fonera/toolchain_build_mips/gcc-3.4.6/configure –prefix=/usr/src/fonera/staging_dir_mips –build=i386-pc-linux-gnu –host=i386-pc-linux-gnu –target=mips-linux-uclibc –enable-languages=c,c++ –enable-shared –disable-__cxa_atexit –enable-target-optspace –with-gnu-ld –disable-nls
Thread model: posix
gcc version 3.4.6 (OpenWrt-2.0)

 

 Ya puedes empezar tus desarrollos, como ejemplo haremos el mitico «hola mundo»
nano prueba.c
Introducimos el siguiente codigo fuente:

#include <stdio.h>

int main(int argc, char *argv[])
{
     printf(«Hello World !\n»);
}

Y los compilamos:

mips-linux-uclibc-gcc prueba.c -o prueba

 Ya puedes pasarlo a la fonera, por ejemplo mediante scp, y ejecutarlo.

Catogories: ThoRo

Leave a Reply