viernes, 13 de noviembre de 2015

Instalar Compilador Cruzado (cross-compiler) en Linux (Debian) PC

Lo Primero que se debe realizar es descargar el compilador cruzado, el compilador que se usará es el de la página de linaro. En el siguiente link se podrá descargar la versión más actualizada del compilador cruzado Linaro Cross Compiler.

Los siguientes pasos se deben realizar para poder instalar el compilador cruzado en Linux:

1)  Descargar el compilador cruzado, wget obtiene el archivo alojado en la red y el link es la url obtenida de la página Linaro. En el caso de querer una versión más actual, cambiar la url con la última publicada en linaro.org.

Nota: El compilador cruzado se debe descargar de acuerdo al sistema operativo que lo va ha ejecutar, en mi caso es un sistema operativo i686. Para saber cuál se tiene ejecutar lo siguiente:

uname -a
#saldrá lo siguiente
Linux linuxcnc 3.8-1-rtai.x86-686-pae #1 SMP Debian 3.8.13-9 i686 GNU/Linux

En mi caso es un sitema operativo con arquitectura x86-686 (i686), a partir de la versión 14.09 solo se podrá ejecutar el compilador cruzado en arquitecturas x86_64.

cd ~/
wget http://releases.linaro.org/14.09/components/toolchain/binaries/gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux.tar.xz

2) Extraer el compilador cruzado descargado. Para poder ver cuál es la versión descargada hay que ejecutar ls gcc-linaro-* y poner el resultado para extraer con el comando tar.

ls gcc-linaro-*
tar -xvf gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux.tar.xz

3) Una vez extraido hay que copiar el archivo a la carpeta "/opt" para luego exportar las variable de entorno con el objetivo de poder ejecutar los archivos del compilador cruzado.

Nota: copiar lo que se encuentra marcado en negrita a las variables de entorno.

sudo mv gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux /opt/
# Si se desea eliminar el archivo tar ejecutar.
rm gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux.tar.xz
# Eportar las variables de entorno, agregando la dirección donde se encuentra el archivo bin del compilador cruzado. en el archivo .
sudo nano /etc/environment
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/opt/gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux/bin"
#ctrl-o para guardar y ctrl-x para salir.

4) Reiniciar y verificar si se ha instaldo correctamente el compilador cruzado.

sudo reboot
arm-linux-gnueabihf-g++ --version
#Si todo salió bien debe asomar lo siguiente
arm-linux-gnueabihf-g++ (crosstool-NG linaro-1.13.1-4.9-2014.09 - Linaro GCC 4.9-2014.09) 4.9.2 20140904 (prerelease)
Copyright (C) 2014 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.


Otra forma de poder instalar el compilador cruzado en Debian, es agregar el repositorio necesario con la llave y descargar el compilador del repositorio.

Nota: Para Debian Wheezy solo se puede instalar el compilador cruzado en Linux amd64, para jessie se instala tanto en Linux i386 como amd64

1) Agregar repositorio.

#se debe crear un archivo con extensión .list
sudo nano /etc/apt/sources.list.d/crosstools.list
#Utilizar el siguiente comando para saber que distribución de linux se tiene.
#Si se obtine Debian GNU/Linux 7 es wheezy, si se obtiene Debian GNU/Linux 8 es jessie.
cat /etc/issue 
#Agregar lo siguiente en el caso de usar debian wheezy
deb http://emdebian.org/tools/debian wheezy main#Agregar lo siguiente en el caso de usar debian jessie
deb http://emdebian.org/tools/debian jessie main

2) Agregar llave del repositorio.

#Para poder agregar la llave se necesita la siguiente herramienta "curl".
sudo apt-get install curl
#El siguiente comando agrega la llave al repositorio
curl http://emdebian.org/tools/debian/emdebian-toolchain-archive.key | sudo apt-key add -

3) Agregar arquitectura armhf

sudo dpkg --add-architecture armhf
#comprobar arquitectura agregada
dpkg --print-foreign-architectures
#comprobar arquitectura original del linux instalado
dpkg --print-architecture

4) Instalar compilador cruzado

sudo apt-get update
sudo apt-get install crossbuild-essential-armhf

Nota: Al instalar el compilador cruzado, se puede desacar librerías para arquitectura armhf poniendo el nombre de la librería seguido de la arquitectura, ejemplo libgtk-3-dev:armhf. Si no se sabe lo que se esta realizando se puede generar conflictos entre las librerías armhf y las del sistema ya sean i386 o amd64.

Referencia: https://www.youtube.com/watch?v=T9yFyWsyyGk

No hay comentarios.:

Publicar un comentario