Sortie de Buildroot 2010.08

Posté par  (site web personnel) . Modéré par Xavier Teyssier.
Étiquettes :
18
7
sept.
2010
Matériel
Buildroot est un outil de construction de systèmes Linux embarqué. Par rapport à des solutions comme OpenEmbedded, Buildroot est tourné vers les systèmes mettant en œuvre un nombre relativement limité de composants, et a l'avantage d'être plus simple à utiliser. Il suffit par exemple de quelques minutes pour générer un système Linux minimal contenant Busybox, Dropbear et DirectFB. Buildroot prend en charge toute la problématique de compilation croisée : génération de la chaîne de compilation croisée, compilation de toutes les bibliothèques et applications, création de l'image du système de fichiers racine, configuration et compilation du chargeur de démarrage et du noyau. Il est également possible d'utiliser des chaînes de compilation croisée préexistantes.

Depuis la précédente dépêche annonçant la sortie de la version 2010.02, deux nouvelles versions ont été publiées : 2010.05 au mois de mai et 2010.08 tout récemment, à la fin du mois d'août. Nous vous proposons dans l'article une description détaillée des changements qui sont intervenus. Dans la version 2010.05
  • Ré-organisation complète des menus de configuration pour la sélection des paquets. Les paquets sont désormais organisés par catégories, les rendant plus simples à trouver ;
  • Dans la continuité du travail de nettoyage et consolidation entamé depuis janvier 2009, tout le code de génération des images de système de fichiers a été réécrit. Il est désormais factorisé, plus simple à maintenir, et mieux testé ;
  • L'ensemble de X.org a été mis à jour vers X.org 7.5. En effet, même si Buildroot est plutôt tourné vers les systèmes Linux embarqués assez réduits, il supporte tout de même des piles logicielles relativement complexes comme X.org ;
  • De nombreux nouveaux paquets ont été ajoutés : cdrkit, cramfs, genext2fs, genromfs, libatomic_ops, librsync, libusb-compat, lmbench, netperf, squashfs, squashfs3, squid, et de très nombreux paquets ont été mis à jour ou corrigés ;
  • Du coté des toolchains générés par Buildroot, le support d'uClibc 0.9.31, de GCC 4.4.4, de GDB 7.x et de binutils 2.20.1 a été ajouté ;
  • Du côté des toolchains externes (c'est à dire l'utilisation par Buildroot de toolchains préexistantes, comme celles fournies par le vendeur d'un matériel), le support des toolchains multilib a été amélioré. Les toolchains multilib contiennent en une seule toolchain plusieurs variantes de la bibliothèque standard C et du runtime GCC, afin de s'adapter à différentes variantes d'une architecture donnée (par exemple : ARMv4 et ARMv5) ;
  • Le support de gettext a été clarifié, afin de fonctionner correctement avec les toolchains externes utilisant la glibc comme bibliothèque standard C ;
  • De nombreux bugs ont été corrigés, et plusieurs options de configuration obscures ou non-fonctionnelles ont été supprimées, rendant Buildroot encore plus simple à utiliser ;
  • Un script de génération de graphe de dépendances entre paquets a été ajouté.
Voir également ce billet pour plus de détails et de jolies démonstrations du script de génération de graphe de dépendances.

Dans la version 2010.08
  • Toujours dans le travail de nettoyage et consolidation, l'ensemble du code de configuration/construction des bootloaders a été réécrit. Buildroot supporte U-Boot, Barebox, AT91Bootstrap, AT91DataFlashBoot, Grub, Grub 2 et Syslinux ;
  • Pour la même raison, le code de configuration/construction du noyau a été réécrit. La configuration est désormais beaucoup plus simple qu'auparavant pour l'utilisateur de Buildroot, et le code plus simple à maintenir ;
  • Le fichier de configuration .config (Buildroot utilise le même système de configuration que le noyau) est maintenant localisé dans le répertoire de construction out-of-tree si ce mode est utilisé. Par exemple, on fera maintenant mkdir ~/myoutput ; make O=~/myoutput menuconfig ; make O=~/myoutput pour utiliser Buildroot et compiler out-of-tree. C'est très pratique lorsque l'on a plusieurs projets en parallèle ;
  • Le support pour les toolchains NPTL avec uClibc, qui est une fonctionnalité expérimentale de la uClibc, une bibliothèque standard C alternative à la glibc ;
  • Le support pour gconfig a été ajouté à celui de menuconfig et xconfig ;
  • Un effort important a été fait sur la correction de nombreux bugs (le Bugzilla a très sérieusement maigri !) et sur l'amélioration de la fiabilité par des tests de construction aléatoires ;
  • Évidemment, de très nombreux paquets ont été mis à jour ou corrigés.
Pour plus d'informations, voir également ce billet.

Pour la prochaine version
  • Poursuite du travail de nettoyage avec le nettoyage du support des cartes matérielles. Nous ajouterons également le support pour des cartes comme la BeagleBoard ainsi que les cartes émulées par Qemu ;
  • Ré-écriture du système de téléchargement des paquets, avec le support de Git et SVN ;
  • Ré-écriture du support de libtool, afin de clarifier les hacks douteux qui sont actuellement nécessaires pour permettre la compilation croisée de paquets utilisant libtool ;
  • Support de la génération de toolchain en utilisant Crosstool-NG comme backend ;
  • Poursuite du travail sur la désinstallation de paquets, de manière à pouvoir supprimer un paquet installé sans avoir à tout reconstruire ;
  • Et évidemment plein d'autres choses, notamment de nombreuses mises à jour de paquets.
À noter qu'une réunion des développeurs de Buildroot aura lieu le vendredi 29 octobre à Cambridge, en Angleterre, à la suite de l'Embedded Linux Conference Europe.

Aller plus loin

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.