La idea es crear un entorno donde instalar lo nocesario para compilar y mantenerlo separado del sistema estable usado como escritorio.
Para poder crearlo al menos debemos tener instalada la aplicacion "debootstrap", esta es capaz de crear un sistema de archivos base para poder empezar. Con poco trabajo extra puede tilizarse tambien como maquina virtual y agregandole un kernel deberia correr en un hardware acorde (este proceso completo habra que realizarlo posteriormente para portar a la Cubieboard).
# apt-get install debootstrap
...
debootstrap is already the newest version.
...
Esta es la distribucion elegida para poder acceder a las ultimas ventajas del compilador para procesadores ARM con punto flotante.
# mkdir Cubieboard-chroot_SDK
# debootstrap sid Cubieboard-chroot_SDK
...
I: Base system installed successfully.
Montamos como espejo los filesystems basicos del systema previo a un chroot.
# mount -o bind /proc $PWD/Cubieboard-chroot_SDK/proc
# mount -o bind /sys $PWD/Cubieboard-chroot_SDK/sys
# cp /etc/hosts $PWD/Cubieboard-chroot_SDK/etc/hosts
Cambiamos el root y seteamos las variables basica de ambiente.
# chroot Cubieboard-chroot_SDK
/# export LC_ALL=C LANGUAGE=C LANG=C
Paquetes basicos para compilar desde los repositorios oficiales.
/# apt-get install build-essential libncurses5-dev u-boot-tools qemu-user-static debootstrap git binfmt-support libusb-1.0-0-dev pkg-config
Instalar el llavero de emdebian, agregarlo al archivo "sources.list" y actualizar los indices.
/# apt-get install emdebian-archive-keyring
/# echo "deb http://www.emdebian.org/debian/ sid main" >> /etc/apt/sources.list.d/emdebian.sources.list
/# apt-get update
Para ver los nuevos paquetes disponibles para compilar cruzado a una arquitectura:
/# apt-cache search armhf # ARM con soporte de punto flotante en hardware.
/# apt-cache search armel # Emulado en software. Considerable menor performance y mayor compatibilidad?.
/*
- Necesario?. Gcc 4.8 armfh no esta creado todavia, hace falta el set 4.7?
/# apt-get install g++-4.7-multilib
*/
Instalando el g++, se instala todo el set armfh como dependencias.
/# apt-get install g++-4.7-arm-linux-gnueabihf
Crear link symbolicos.
/# for i in /usr/bin/arm-linux-gnueabi*-4.*; do ln -rs $i ${i%%-4.*}; done