Si vous êtes un développeur embarqué, vous pourriez être confronté à cette question : Comment créer un système Linux adapté à votre plateforme matérielle ? Comment personnaliser les fonctionnalités et l’apparence d’un système Linux ? Comment assurer la sécurité et la stabilité du système Linux ? Ces problèmes peuvent être résolus en utilisant le projet Yocto. Le Projet Yocto est un projet collaboratif open source qui vous aide à créer des systèmes Linux personnalisés quelle que soit votre architecture matérielle. Le projet Yocto fournit un ensemble flexible d'outils et de ressources qui vous permettent de créer votre propre distribution Linux à partir de zéro, ou de la modifier et de l'optimiser en fonction des distributions Linux existantes. Cet article vous présentera comment utiliser Yocto pour créer une distribution Linux minimale sur Ubuntu, ainsi que les concepts de base et le workflow de Yocto.
Minimum 4 à 6 Go de RAM
La dernière version du système Ubuntu (cet article utilise 16.04 LTS)
L'espace disque restant est d'au moins 60 à 80 Go
Installez les packages suivants avant de créer une distribution Linux
Téléchargez la dernière branche stable de Yocto (Poky est son environnement de développement minimal)
apt-get update apt-get install wget git-core unzip make gcc g++ build- essential subversion sed autoconf automake texi2html texinfo coreutils diffstat python- pysqlite2 docbook-utils libsdl1.2-dev libxml-parser-perl libgl1-mesa-dev libglu1-mesa- dev xsltproc desktop-file-utils chrpath groff libtool xterm gawk fop
Comme indiqué ci-dessous, le package à installer pour l'environnement de développement fait près de 1 Go.
Dans ce tutoriel, la branche morty stable de poky est clonée sur le système.
git clone -b morty git://git.yoctoproject.org/poky.git
Allez dans le répertoire poky et exécutez la commande suivante pour définir (définir/exporter) certaines variables d'environnement pour l'environnement de développement Yocto.
source oe-init-build-env
Comme indiqué ci-dessous, après avoir exécuté le script d'environnement de construction ouvert intégré (oe), le chemin dans le terminal basculera automatiquement vers le répertoire de construction pour la configuration et la construction ultérieures de la version finale.
La capture d'écran ci-dessus montre le fichier local.conf créé dans le répertoire conf. Il s'agit du fichier de configuration utilisé par Yocto pour définir les détails de la machine cible et l'architecture cible du SDK.
Comme indiqué ci-dessous, la machine cible définie ici est qemux86-64.
Comme le montre la capture d'écran ci-dessous, décommentez les paramètres suivants dans local.conf.
DL_DIR ?= "${TOPDIR}/downloads"
SSTATE_DIR ?= "${TOPDIR}/sstate-cache"
TMPDIR ?= "${TOPDIR}/tmp"
PACKAGE_CLASSES ?= "package_rpm" SDKMACHINE ?= "i686"
Comme indiqué ci-dessous, définissez un mot de passe vide et quelques paramètres ultérieurs dans local.conf pour Linux basé sur Yocto. Sinon, les utilisateurs ne pourront pas se connecter à la nouvelle version.
EXTRA_IMAGE_FEATURES ?= "debug-tweaks"
Nous ne prévoyons pas d'utiliser d'outils graphiques pour créer un système d'exploitation Linux, tel qu'un grille-pain (la table de cuisson n'est plus prise en charge).
Exécutez maintenant la commande de l'outil bitbake ci-dessous pour commencer à télécharger et à compiler le package pour la machine cible sélectionnée.
bitbake core-image-minimal
Il est très important d'exécuter la commande ci-dessus sous un utilisateur Linux normal et de ne pas utiliser l'utilisateur root . Comme le montre la capture d'écran ci-dessous, lorsque vous exécutez la commande bitbake sous l'utilisateur root, l'erreur indiquée ci-dessous se produit.
Exécutez à nouveau le script qui exporte les variables d'environnement (oe-init-build-env) et réexécutez la même commande pour démarrer le processus de téléchargement et de compilation.
Comme indiqué ci-dessous, la première étape de la création d'un composant de script consiste à analyser la configuration (recette).
La capture d'écran ci-dessous montre le processus d'analyse du script de construction. Il montre également les détails du système de build utilisé pour construire votre nouvelle distribution basée sur yocto.
Après avoir téléchargé le SDK et les bibliothèques nécessaires, l'étape suivante consiste à télécharger et compiler le package. La capture d'écran ci-dessous montre les tâches effectuées pour créer une nouvelle distribution. Cette étape prendra 2 à 3 heures car les packages requis doivent d'abord être téléchargés puis compilés pour la nouvelle distribution Linux.
La capture d'écran ci-dessous montre l'achèvement de la liste des tâches.
La nouvelle image compilée pour le type de machine cible qemux86-64 se trouve dans build/tmp/deploy/images/qemux86-64 :
Comme indiqué ci-dessous, la commande ci-dessus générera une erreur si elle est exécutée sur Putty.
Exécutez à nouveau la commande ci-dessus sur la plate-forme Ubuntu via rdp.
Ouvre un nouvel écran pour qemu exécutant la nouvelle distribution Linux basée sur Yocto.
Ce qui suit montre l'interface de connexion de la nouvelle version, et montre également le numéro de version du projet yocto utilisé. Le nom d'utilisateur par défaut est root et le mot de passe est vide.
Enfin, utilisez le nom d'utilisateur root et le mot de passe vide pour vous connecter à la nouvelle distribution. Comme le montre la capture d'écran ci-dessous, les commandes de base (data, ifconfig et uname) sont exécutées sur cette version minimale de Linux.
Le but de cet article est de comprendre le processus de création d'une nouvelle distribution Linux à l'aide de Yocto.
A travers cet article, vous avez appris à utiliser Yocto pour créer une distribution Linux minimale sur Ubuntu, ainsi que les concepts de base et le workflow de Yocto. Vous pouvez utiliser Yocto pour personnaliser un système Linux adapté à vos appareils embarqués ou à d'autres scénarios afin de répondre à vos besoins et préférences. Bien entendu, ce n'est qu'une partie des nombreuses fonctionnalités et options proposées par le projet Yocto. Si vous souhaitez en savoir plus sur le projet Yocto et le développement de Linux embarqué, vous devez quand même continuer à explorer et à vous entraîner. J'espère que cet article pourra vous être utile dans votre étude et votre travail. Vous êtes également invités à partager d'autres compétences pratiques Yocto que vous utilisez ou découvrez.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!