Table des matières

Buildroot

Buildroot facilite la compilation d'un système GNU/Linux embarqué complet. C'est un ensemble de Makefiles et de patchs.

Principales caractéristiques:

Ici il ne sera utilisé que pour la compilation de la chaine de compilation croisée.

Installation

Télécharger l'archive de buildroot:

yoann@hermes:/tmp$ wget http://buildroot.uclib.org/dowloads/buildroot-2012.11.tar.bz2

Décompresser l'archive. Ici, comme le programme n'a pas été installé via le gestionnaire de paquet de ma distribution, je choisis de le décompresser dans /opt

yoann@hermes:/tmp$ tar xjf buildroot-2012.11.tar.bz2 
yoann@hermes:/tmp$ sudo mv buildroot-2012.11 /opt/cd 
yoann@hermes:/tmp$ cd /opt/buildroot-2012.11/
yoann@hermes:/opt/buildroot-2012.11$

Configurer buildroot

Une fois dans le répertoire de l'application, il faut configurer builroot pour lui indiquer ce que nous souhaitons compiler. Ici nous allons seulement compiler la cross toolchain. Christophe Blaess nous propose un fichier de configuration tout prêt adapté à notre besoin: la compilation d'une cross toolchain pour raspberry. Télécharger et renommer le fichier pour qu'il soit exploitable.

yoann@hermes:/opt/buildroot-2012.11$ wget http://www.blaess.fr/christophe/files/glmf/rpi-scratch-01/config-buildroot
yoann@hermes:/opt/buildroot-2012.11$ mv config-buildroot .config

L'installation de la cross toolchain se fera dans le dossier /usr/local/cross-rpi. Pour cela il faudra créer en amont le répertoire et avoir les droits dessus ou lancer la compilation en root. Si l'on souhaite modifier la configuration de builroot il suffit d'invoquer make menuconfig. Les modification seront apportées au fichier .config.

Compiler la cross toolchain

Une fois la configuration terminée, on lance la compilation et on implore les Dieux GNU/Linux. Noter que certains paquets sont nécessaires pour la compilation. Sur ma machine hote, mes premières tentatives ont échouées car les paquets suivants n'étaient pas installés:

Avant de lancer la compilation vérifier donc qu'il sont installés

yoann@hermes:/opt/buildroot-2012.11$ make

sources