Ceci est une ancienne révision du document !
Table des matières
Installation et utilisation de Buildroot pour carte microzed
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”.
Pour cette page, nous allons nous inspirer du tutoriel proposé par Xilinx.
Pré-installations
Nécessaires
Outils de récupération de sources :
- wget
- git
ATTENTION : pour ces deux outils, il ne faut pas oublier de configurer les paramètres de proxy, si nécessaire.
Outils de compilation :
- sed
- make (version 3.81 ou ultérieure)
- binutils
- build-essential (pour les distributions à base de Debian)
- gcc (version 2.95 ou ultérieure)
- g++ (version 2.95 ou ultérieure)
- bash
- patch
- gzip
- bzip2
- perl (version 5.8.7 ou ultérieure)
- tar
- cpio
- python (version 2.6 ou 2.7)
- unzip
- rsync
- DTC
$ git clone https://git.kernel.org/pub/scm/utils/dtc/dtc.git $ cd dtc/ $ make $ export PATH=<path-containing-dtc>/dtc:$PATH
Ou, vous pouvez ajouter ce chemin vers le binaire dtc dans le fichier ~/.profile afin de le retrouver au prochain démarrage de votre session (pas besoin de la commande export). - libncurses5 et libncurses5-dev pour utiliser l'outil de configuration menuconfig.
Installation
- Télécharger l'archive de buildroot décompresser l'archive dans le répertoire de travail. Ici, nous utiliserons la version 2016.05. Par exemple, on peut faire ainsi dans un terminal :
$ cd Xilinx $ wget https://buildroot.org/downloads/buildroot-2016.05.tar.gz $ tar xzvf buildroot-2016.05.tar.gz $ cd buildroot-2016-05
- Appliquer la configuration par défaut pour les cartes microzed qui dans le fichier zynq_microzed_defconfig dans le répertoire configs. Éventuellement, si comme moi, les clonages avec git ne fonctionnent pas avec une adresse en git:, changer la ligne ou le dépôt git est indiqué
BR2_LINUX_KERNEL_CUSTOM_REPO_URL="git://github.com/Xilinx/linux-xlnx.git"
en :
BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/Xilinx/linux-xlnx.git"
Puis continuez ainsi :
$ make zynq_microzed_defconfig ... # # configuration written to /.../Xilinx/buildroot-2016.05/.config #
- À partir de là, il est possible de changer les configurations par défaut avec menuconfig. Pur l'instant, nous ne changerons pas ces configurations, et nous allons juste les appliquer telles quelles :
$ make menuconfig
Il faut choisir Exit pour rester avec la configuration par défaut.
$ make busybox-menuconfig
Il faut choisir Exit pour rester avec la configuration par défaut, et accepter de sauvegarder la configuration.
$ make linux-menuconfig
Il faut choisir Exit pour rester avec la configuration par défaut.
- Maintenant, chargez et construisez les outils qui ont été configurés à l'étape précédente :
$ make ... ... table='/.../Xilinx/buildroot-2016.05/output/build/_device_table.txt' /usr/bin/install -m 0644 support/misc/target-dir-warning.txt /.../Xilinx/buildroot-2016.05/output/target/THIS_IS_NOT_YOUR_ROOT_FILESYSTEM
Cela prend du temps. S'il y a des erreurs vérifiez que les paquets mentionnés plus haut sont installés sur votre machine, que le chemin de la variable $PATH inclus l'accès au binaire du programme dtc et que les configurations proxy sont correctes en particulier pour wget et git.