Outils pour utilisateurs

Outils du site


dev:raspberry:cross-toolchain:buildroot

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

dev/raspberry/cross-toolchain/buildroot.txt · Dernière modification : 2021/02/01 21:51 de 127.0.0.1