Compilar software per Vu+ en OpenSuSE (mips)

Objectiu poder compilar software que després es pogui executar en un descodificador de satèl·lit Vu+.

Primer hem de baixar un compilador compatible amb l’arquitectura del vuplus.

root@vuuno:~# uname -a
Linux vuuno 3.1.1 #1 SMP Wed Aug 29 11:48:30 CEST 2012 mips GNU/Linux
root@vuuno:~#

Veiem que és mips.

Anem a  http://developer.mips.com/tools/compilers/open-source-toolchain-linux/

Descarreguem la versió Pre-Built:

http://wpc.1982.edgecastcdn.net/001982/gnu_tools/Mips_linux_toolchain_bin-1.1.tar.bz2

I la instal·lem:

cd /opt ; tar vfxj Mips_linux_toolchain_bin-1.1.tar.bz2

Per poder-la utilitzar caldrà que a la nostra sessió actualitzem el PATH:

export PATH=/opt/mips_linux_toolchain/bin:$PATH

Un cop fet això ja podrem compilar el típic Hello World ! :

cat >hello.c++<<EOF 

#include 

int main()
{
  std::cout << "Hello World!" << std::endl;
  return 0;
}
EOF
mips-linux-gnu-g++ -mips32 -EL -g hello.c++ -o hello

Un cop fet això només caldrà pujar per scp o ftp el fitxer compilat al nostre deco i el podrem executar:

root@vuuno:/media/hdd/# file hello
hello: ELF 32-bit LSB executable, MIPS, version 1, for GNU/Linux 2.6.32, dynamically linked (uses shared libs), not stripped
root@vuuno:/media/hdd/# ./hello
Hello World!
root@vuuno:/media/hdd/#

En cas de voler compilar un paquet amb el ‘configure’ haurem d’especificar la variable d’entorn CFLAGS perquè s’ajusti a la plataforma del VU+

CFLAGS='-mips32 -EL' ./configure --host=mips-linux-gnu