GNU/Linux >> Tutoriels Linux >  >> Linux

Opérations les plus couramment réalisées dans Yocto

Le projet Yocto est un constructeur de distribution Linux embarqué qui utilise plusieurs autres projets open source. Une distribution Linux est un ensemble de packages logiciels et de politiques, et il existe des centaines de distributions Linux disponibles. La plupart d'entre eux ne sont pas conçus pour les systèmes embarqués et ils manquent de la flexibilité nécessaire pour atteindre les tailles d'empreinte cibles et les ajustements de fonctionnalités, et ne conviennent pas aux systèmes à ressources limitées.

Le projet Yocto, en revanche, n'est pas une distribution en soi; il vous permet de créer une distribution Linux conçue pour votre système embarqué particulier. Le projet Yocto fournit une distribution de référence pour Linux embarqué, appelée Poky.

Le projet Yocto a à sa base les projets BitBake et OpenEmbedded-Core (OE-Core). Ensemble, ils forment le système de build Yocto qui construit les composants nécessaires à un produit Linux embarqué, à savoir :

  • Une image de chargeur de démarrage
  • Une image du noyau Linux
  • Une image du système de fichiers racine
  • Chaînes d'outils et kits de développement logiciel (SDK) pour le développement d'applications

Avec ceux-ci, le Yocto Project couvre à la fois les besoins des développeurs de systèmes et d'applications. Lorsque le projet Yocto est utilisé comme environnement d'intégration pour les bootloaders, le noyau Linux et les applications de l'espace utilisateur, on parle de développement système.

1. Pour ouvrir le menuconfig du noyau linux (ici, j'utilise la couche meta-intel), exécutez les commandes suivantes.

bitbake -c menuconfig linux-intel

Si vous utilisez le noyau yocto ce sera :

bitbake -c menuconfig linux-yocto

2. Pour vérifier si votre recette bbappend est analysée par bitbake, exécutez la commande suivante :

bitbake-layers show-appends

3. Pour ajouter un package particulier dans votre système de fichiers racine.

Ouvrez votre fichier local.conf et ajoutez le nom de la recette ci-dessous :

IMAGE_INSTALL += "recipe-name"

Par exemple :

IMAGE_INSTALL += "libusb"

ou

IMAGE_INSTALL_append = "libusb"

Si vous souhaitez que ce package ne soit inclus que dans une image particulière,

IMAGE_INSTALL_append_pn-[image-name] = "recipe-name"

Par exemple :

IMAGE_INSTALL_append_pn-core-image-sato = "libusb"

4. Pour inclure un module de noyau dans votre système de fichiers racine :

MACHINE_ESSENTIAL_EXTRA_RDEPENDS += "kernel-module-cp210x"

5. Pour charger automatiquement le module au démarrage :

KERNEL_MODULE_AUTOLOAD += "cp210x"

6. Commande pour vérifier la liste des images disponibles.

Exécutez la commande suivante dans votre répertoire source :

$ ls meta*/recipes*/images/*.bb

7. Commande pour exécuter l'image générée dans QEMU :

$ runqemu [machine] [zImage] [filesystem]

Par exemple :

$ runqemu qemux86 core-image-minimal

8. Commande pour lister les machines disponibles :

$ ls meta*/conf/machine/*.conf

9. Commande pour générer le SDK pour une image particulière :

$ bitbake [imagename] -c populate_sdk

Par exemple :

$ bitbake core-image-full-cmdline -c populate_sdk

10. Ordre dans lequel toutes les tâches exécutées sont stockées dans :

[build directory]/tmp/work/[machine toolchain]/[package name]/[package version]/temp/log.task_order

Par exemple :

build/tmp/work/corei7-64-poky-linux/grep/3.1-r0/temp/log.task_order

11. Générez des informations sur l'arborescence des dépendances dans la syntaxe à points :

$ bitbake -g core-image-minimal

La commande ci-dessus génère un graphique de dépendance. Bitbake crée les fichiers pn-buildlist, recette-dépend.dot et tâche-dépend.dot.

  • pn-buildlist :Liste simple des packages qui vont être construits
  • recipe-depends.dot  :Afficher les dépendances entre les recettes
  • task-depends.dot  :Affiche les dépendances entre les tâches.

12. Affiche les variables d'environnement :

$ bitbake -e [recipe/target name]

Par exemple :

$ bitbake -e core-image-minimal | grep ^SDKMACHINE

13. Activer la sortie détaillée des tâches shell :

$ bitbake -v [recipe/target name]

Par exemple :

$ bitbake -v core-image-minimal

14. Continuez bitbake même après une erreur. Cela sera utile lorsque vous avez commencé une construction et que vous êtes allé déjeuner et que vous ne voulez pas que le bitbake s'arrête s'il ne parvient pas à récupérer un fichier sur Internet.

$ bitbake -k [target]

Par exemple :

$ bitbake -k core-image-minimal

15. Forcez la cible à s'exécuter même si un sstate-cache est disponible pour elle.

$ bitbake -f [target/recipe name]

Par exemple :

$ bitbake -f busybox


Linux
  1. Téléchargez la feuille de triche de l'interface de ligne de commande OpenStack ! – Commandes les plus couramment utilisées

  2. Les outils de test d'intrusion les plus populaires en 2022

  3. Opérations de courbe elliptique en ligne de commande

  4. Serveur HTTP Apache - conteneurs les plus couramment utilisés (directives de configuration spéciales)

  5. Serveur HTTP Apache - directives de configuration les plus couramment utilisées

Explication des opérations mathématiques bash (arithmétique bash)

Linux - Comprendre les opérations de commande de synchronisation sous Linux ?

Bash Beginner Series #6 :Opérations sur les chaînes dans Bash

5 plus beaux environnements de bureau Linux

Configuration LVM :opérations/utilitaires de volume logique (LV)

Configuration LVM :Opérations/Utilitaires du groupe de volumes (VG)