====== 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: * Il peut contrôler toutes les étapes de construction du système embarqué: chaine de compilation croisée, fichier système racine, chargeur et images noyaux. * Facile à configurer grace aux outils d'interfaces GNU menuconfig, gconfig. Construire un environnement embarqué standard à l'aide de buildroot prend 15-30 minutes. * Il Supporte plusieurs centaines de packages pour les applications et bibliothèques appartenant à l'espace utilisateur: X.org, Gtk2, Qt, DirectFB, SDL, GStreamer ainsi qu'un grand nombre d'utilitaires systèmes et réseaux. * Supporte plusieurs système de fichier pour l'image du système de fichier racine notamment JFFS2, UBIFS, tarballs, romfs, cramfs, squashfs etc. * Peut généré une chaine de compilation croisée basée sur la uClibc ou réutiliser votre chaine de compilation croisée glibc, eglibc ou uClibc. * Il a une structure simple le rendant facile à comprendre et à modifier. 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: * flex * texinfo Avant de lancer la compilation vérifier donc qu'il sont installés yoann@hermes:/opt/buildroot-2012.11$ make ===== sources ===== * http://buildroot.uclibc.org/ * GLMF n°155 décembre 2012