Ceci est une ancienne révision du document !
Table des matières
Création de Buildroot sous environnement Vagrant
Introduction
- Buildroot est un outil permettant la création d'un système d'exploitation Linux complet adapté pour l'embarqué, incluant le “boot-loader”, le noyau, le “devicetree” et le système de fichiers “rootfs”.
- Vagrant est un logiciel libre permettant la création et la configuration d'environnements de développement virtuels.
Ainsi, l'environnement de Buildroot est portable et reproductible. Cet aspect nous intéresse particulièrement pour les développements pour des produits qui évoluent vites, tels que les produits réalisés sur la base des Zynq et les versions de Buildroot.
À propos de Vagrant
Avec Vagrant, pour définir un système d'exploitation avec une configuration particulière et ses paquets particuliers, il suffit d'un simple fichier, d'un ensemble de commandes et des paquets disponibles. Le système est chargé dans une machine virtuelle. Celle ci n'est pas installée définitivement sur la machine hôte, car elle se re-installe à chaque appel du fichier de configuration. L'image du système peut être détruit localement. Elle sera reconstruite au prochain appel.
Les principaux avantages de cet outil sont la simplicité, la portabilité des machines virtuelles, la légèreté (comparée à une machine virtuelle installée) et la facilité que l’on a à reproduire un même environnement plusieurs fois1).
Installations
Le système sur lequel je travaille : Linux Mint LMDE 2 Betsy.
Via le gestionnaire de paquets, j'ai installé :
- vagrant : création et la configuration d'environnements virtuels.
- curl : interface en ligne de commande pour télécharger du contenu par le réseau.
- ruby-dev : paquet contenant les fichiers d'entêtes et la librairie mkmf nécessaires pour construire des paquets “gems” (RubyGems est le “ gestionnaire de paquets de Ruby ”).
- virtualbox : logiciel de virtualisation de systèmes d'exploitation.
Pluggin de configuration du proxy pour Vagrant
Etant derrière une protection par proxy, une solution est d'utiliser le pluggin adapté de Vagran.
Installation :
$ vagrant plugin install vagrant-proxyconf
Pour un configuration globale, on peut créer le fichier Vagrant dans le répertoire ~/.vagrant.d/
Exemple :
$ nano ~/.vagrant.d/Vagrant Vagrant.configure("2") do |config| if Vagrant.has_plugin?("vagrant-proxyconf") config.proxy.http = "http://proxy.serveur:port/" config.proxy.https = "http://proxy.serveur:port/" config.proxy.ftp = "ftp://proxy.serveur:port/" config.proxy.no_proxy = "localhost,127.0.0.1,.example.com" end # ... autres trucs end
Plus d'information ici
Test
$ curl -O https://buildroot.org/downloads/Vagrantfile $ vagrant up $ vagrant ssh vagrant@vagrant-ubuntu-trusty-64:~$