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.
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$
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.
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