Written by: thempra 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
cd /usr/src/sudo mkdir /usr/src/foneracd fonerawget http://download.fon.com/firmware/fonera/latest/fonera.tar.bz2
tar jxvf /another/where/fonera.tar.bz2
make V=99
PATH=$PATH:/usr/src/fonera/staging_dir_mips/binexport PATH
mips-linux-uclibc-gcc -v
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)
nano prueba.c
#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