Table des matières:
Vidéo: Construire une distribution GNU/Linux pour Raspberry Pi à l'aide du projet Yocto : 6 étapes
2025 Auteur: John Day | [email protected]. Dernière modifié: 2025-01-13 06:57
Raspberry Pi est probablement l'ordinateur monocarte à faible coût le plus populaire sur le marché. Il est souvent utilisé pour l'Internet des objets et d'autres projets intégrés. Plusieurs distributions GNU/Linux ont un excellent support pour Raspberry Pi et il y a même Microsoft Windows pour Raspberry Pi 2.
Si vous souhaitez créer un Internet des objets (IoT) basé sur Raspberry Pi et si vous souhaitez le faire de manière professionnelle, il est recommandé de créer une distribution Linux intégrée qui correspond exactement aux besoins de votre appareil. Pour démarrer une distribution Linux sur Raspberry Pi, vous avez besoin d'un chargeur de démarrage, d'un noyau Linux et de diverses applications dans l'espace utilisateur.
L'un des moyens les plus populaires pour créer une distribution Linux embarquée personnalisée est d'utiliser le projet Yocto. Yocto est un projet collaboratif de la fondation Linux qui utilise le framework Openembedded et le moteur de build bitbake. Poky est le système de référence du Yocto Project avec un cycle de sortie de six mois. Il fournit des métadonnées divisées en couches et en recettes pour créer divers packages et images.
Ce tutoriel fournit les étapes exactes pour créer une image avec une distribution GNU/Linux minimale pour Raspberry Pi, qui inclut systemd et connman.
Étape 1: Se préparer
Pour ce tutoriel, vous aurez besoin de:
- Ordinateur personnel avec distribution GNU/Linux, par exemple Ubuntu, sur lequel vous construirez la distribution GNU/Linux pour Raspberry Pi.
- Tarte aux framboises
- Carte microSD ou SD selon la version de votre Raspberry Pi
- Câble HDMI et un moniteur
- Clavier USB
- Source de courant
Installez les packages requis sur votre ordinateur personnel en fonction de votre distribution GNU/Linux: https://www.yoctoproject.org/docs/2.0/yocto-projec…Notes (par Yunus EmreI):
- Vous ne pouvez pas cuire une image si votre répertoire personnel est crypté car il n'autorisera pas les noms de fichiers longs
- La construction initiale prend très longtemps si vous avez une connexion lente
- Lors du flashage de l'image sur la carte SD, assurez-vous de sélectionner le /dev/sdX principal, pas le /dev/sdXp1 ou une autre variante de la partie interne
Étape 2: Obtenez le code source
Effectuez les actions ci-dessous sur votre ordinateur personnel:
-
Clone Poky avec Git (dans ce cas je télécharge la version Jethro (2.0) du projet Yocto):
git clone -b jethro git://git.yoctoproject.org/poky
-
Allez dans le répertoire poky:
cd poky
-
Cloner le méta-raspberrypi:
git clone -b jethro git://git.yoctoproject.org/meta-raspberrypi
Étape 3: Configurer
-
Initialiser l'environnement de génération
source oe-init-build-env
-
Ajoutez meta-raspberrypi à BBLAYERS dans conf/bblayers.conf, après cela, il devrait être similaire (mais dans votre cas avec des chemins différents) à:
BBLAYERS ?=
/home/leon/poky/meta / /home/leon/poky/meta-yocto / /home/leon/poky/meta-yocto-bsp / /home/leon/poky/meta-raspberrypi \"
-
Ouvrez conf/local.conf et changez MACHINE en raspberrypi, raspberrypi0, raspberrypi2 ou raspberrypi3 selon votre modèle de Raspberry Pi, par exemple:
MACHINE ??= "raspberrypi2"
-
Ajoutez la ligne suivante à conf/local.conf pour définir la mémoire GPU en mégaoctets:
GPU_MEM = "16"
-
Vous pouvez éventuellement ajouter la ligne suivante à conf/local.conf pour remplacer System V par systemd:
DISTRO_FEATURES_append = " systemd"
VIRTUAL-RUNTIME_init_manager = "systemd" DISTRO_FEATURES_BACKFILL_CONSIDERED = "sysvinit" VIRTUAL-RUNTIME_initscripts = ""
-
Ajoutez éventuellement la ligne suivante à conf/local.conf pour inclure la ligne de commande du gestionnaire de réseau connman dans l'image:
IMAGE_INSTALL_append = " connman connman-client"
Étape 4: créer une image
-
Exécutez la commande suivante pour créer une image minimale d'une distribution GNU/Linux pour votre Raspberry Pi:
bitbake rpi-basic-image
Veuillez noter que la construction peut prendre jusqu'à plusieurs heures selon le matériel de votre ordinateur personnel et la vitesse de la connexion Internet.
Étape 5: Carte SD Flash
Une fois la construction terminée, l'image sera située dans le chemin suivant dans votre répertoire de construction: tmp/deploy/images/raspberrypi2/rpi-basic-image-raspberrypi2.rpi-sdimg.
Branchez une carte microSD sur votre ordinateur, remplacez X par son ID correspondant (qui peut être trouvé via des commandes comme lsblk ou fdisk -l) et exécutez les commandes suivantes pour flasher l'image dessus:
sudo umount /dev/sdX
sudo dd if=tmp/deploy/images/raspberrypi2/core-image-weston-raspberrypi2.rpi-sdimg of=/dev/sdX sync sudo umount /dev/sdX
Alternativement, si vous préférez, vous pouvez utiliser bmaptool au lieu de dd.
Soyez très prudent lorsque vous flashez la carte SD et assurez-vous que vous utilisez la bonne lettre pour le chemin vers l'appareil. Faites-le à vos risques et périls et gardez à l'esprit qu'une erreur peut endommager un lecteur de votre ordinateur personnel !
Étape 6: Démarrez et testez
Démarrez Raspberry Pi et exécutez les étapes suivantes pour vérifier que l'image fonctionne correctement:
- Connectez-vous en tant que root sans mot de passe
-
Si connman est installé, vérifiez que ses services systemd ont été chargés:
systemctl status -l connman