GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Comment créer sa propre distribution Linux avec Yocto sur Ubuntu

Dans cet article, nous nous concentrons sur la création d'une distribution Linux minimale utilisant le projet Yocto sur la plateforme Ubuntu. Le projet Yocto est très connu dans le monde Linux embarqué pour sa flexibilité et sa facilité d'utilisation. Le but du projet Yocto est de créer une distribution Linux pour les fabricants de matériel et de logiciels embarqués. Une nouvelle distribution Linux minimale sera créée pour qemu en tant que machine cible (qemu est un émulateur logiciel de base) et nous l'exécuterons dans qemu.

Prérequis pour la machine de développement 

  • Au moins 4 à 6 Go de RAM.
  • Système d'exploitation Ubuntu récent (16.04 LTS dans ce cas).
  • Au moins 60 à 80 Go d'espace libre sur le disque.
  • Installation des packages suivants avant la création d'une nouvelle distribution Linux.
  • Téléchargez la dernière branche stable Yocto (Poky qui est un 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, près de 1 Go est nécessaire pour installer les packages de développement requis.

Dans ce didacticiel, la version stable "morty" 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/exporter des variables pour le développement du yocto.

source oe-init-build-env

Comme indiqué ci-dessous, après avoir exécuté le script d'environnement de construction intégré (oe) ouvert, l'emplacement du chemin dans le terminal sera remplacé par un répertoire "build" pour la configuration et la compilation ultérieures de la nouvelle distribution.

La capture d'écran ci-dessus montre que le fichier "local.conf" est créé dans le répertoire "conf". C'est le fichier de configuration pour Yocto qui spécifie les détails de la machine cible et du SDK pour l'architecture souhaitée, etc.

Comme indiqué ci-dessous, définissez la machine cible "qemux86-64".

Décommentez les paramètres suivants dans le fichier "local.conf" comme indiqué dans les captures d'écran.

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 pour le Linux basé sur Yocto et incluez les paramètres suivants dans le fichier local.conf. Sinon, l'utilisateur ne pourra pas se connecter à la nouvelle distribution.

EXTRA_IMAGE_FEATURES ?= "debug-tweaks"

Nous n'utilisons aucun outil graphique tel qu'un grille-pain (la plaque de cuisson n'est plus prise en charge) pour créer un système d'exploitation Linux.

Processus de compilation et compilation Yocto

Exécutez maintenant la commande suivante de l'utilitaire bitbake pour démarrer le téléchargement et la compilation des packages pour la machine cible sélectionnée.

bitbake core-image-minimal

Il est important d'exécuter la commande ci-dessus en tant qu'utilisateur Linux normal et non en tant qu'utilisateur root. Comme illustré dans la capture d'écran suivante, une erreur est générée lorsque vous exécutez la commande bitbake en tant qu'utilisateur root.

Encore une fois, exécutez le script d'exportation des 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 l'utilitaire de script de génération consiste à analyser la recette.

La capture d'écran suivante montre l'achèvement de l'étape d'analyse du script de génération. Il montre également les détails du système de construction sur lequel la nouvelle distribution basée sur yocto sera générée.

Après avoir téléchargé le SDK et les bibliothèques nécessaires, l'étape suivante consiste à télécharger et à compiler les packages. La capture d'écran suivante montre la tâche pour la nouvelle distribution. Cette étape prendra 2 à 3 heures car elle télécharge d'abord les packages requis, puis compile pour la nouvelle distribution Linux.

La capture d'écran suivante montre l'achèvement de la liste des tâches.

Les nouvelles images compilées pour le type de machine cible "qemux86-64" se trouvent dans le chemin "build/tmp/deploy/images/qemux86-64", comme indiqué ci-dessous.

Comme indiqué ci-dessous, la commande ci-dessus produira une erreur si elle est exécutée dans le Putty.

La commande ci-dessus est à nouveau exécutée dans le terminal via rdp sur la plate-forme Ubuntu.

Un autre écran s'ouvre pour l'émulateur qemu pour la nouvelle distribution Linux basée sur Yocto.

L'écran de connexion de la nouvelle distribution est affiché ci-dessous, qui montre également la version de référence du projet yocto. Le nom d'utilisateur par défaut est root et un mot de passe vide.

Enfin, connectez-vous à la nouvelle distribution avec un nom d'utilisateur root et un mot de passe vide. Comme le montre la capture d'écran suivante, les commandes de base (date, ifconfig et uname) sont exécutées dans la version minimale de Linux.


Le but de cet article est de comprendre la procédure de création d'une nouvelle distribution Linux à l'aide de Yocto Project.


Ubuntu
  1. Créez votre propre serveur de streaming vidéo avec Linux

  2. Protéger votre chat avec qTox sur Ubuntu Linux

  3. Comment créer une clé USB bootable Ubuntu sous Linux

  4. Comment vérifier la version de votre système d'exploitation Linux

  5. Comment protéger votre système Ubuntu Linux avec SurfShark VPN

Comment créer des modèles de système d'exploitation Linux avec KVM sur Ubuntu 20.04

Comment créer un utilisateur Sudo dans Ubuntu Linux

Comment enregistrer votre écran dans Ubuntu avec SimpleScreenRecorder

Comment créer votre propre serveur VPN IPsec sous Linux

Comment exécuter votre propre serveur Git avec GitlabHQ sur Ubuntu 14.04

Comment configurer le pare-feu avec UFW sur Ubuntu Linux