15/10 - Zephyr OS – 1 – Découverte sur Raspberry Pi PicoZephyr 0S est un système d’exploitation temps réel que l’on peut utiliser sur de petits microcontrôleurs pour réaliser des tâches relativement simples avec un comportement temporel précis. Nous allons l’étudier pendant quelques articles en nous appuyant sur des modèles de microcontrôleurs répandus, peu (...)
07/10 - Essai anticipé du temps réel de Linux 6.12La future branche 6.12 du noyau Linux, qui sera publiée à la fin du mois de novembre, contiendra plusieurs nouveautés par rapport au noyau actuel. La plus commentée depuis deux semaines concerne l’intégration complète du patch PREEMPT_RT dans le noyau. Annoncée lors du Maintainer Summit du 17 (...)
01/10 - Les variables principales de Bitbake – 2 – Les variables contextuellesNous avons vu dans l’article précédent qu’il existe de nombreuses variables pour configurer le comportement de Bitbake lors d’un build de Yocto Project. Nous avons examiné précédemment les variables globales, qui sont valables durant tout le build. Nous allons étudier à présent les principales (...)
17/09 - Les variables principales de Bitbake – 1 – Les variables globalesLorsqu’on effectue un build pour Yocto Project, l’outil bitbake parcourt des fichiers de configuration que nous avons pu examiner dans l’article précédent. Pendant ce parcours, un nombre important de variables sont remplies. Il est facile de retrouver dans la documentation de Yocto Project la (...)
03/09 - Les fichiers de configuration de BitbakeLorsqu’on réalise un build pour un système Linux embarqué avec Yocto Project, de nombreux fichiers sont parcourus par l’outil Bitbake. Il n’est pas toujours simple de savoir dans quel ordre ces fichiers de configuration sont examinés, mais c’est pourtant une clé pour la bonne compréhension des (...)
20/08 - Mise à jour de mon cours « Linux embarqué avec Yocto »J’ai mis à jour mon cours en ligne « Linux embarqué avec Yocto » (gratuit, sous licence Creative Commons CC-BY-NC) avec la dernière version long terme de Yocto Project : « Poky Scarthgap » La première édition de ce cours datait de janvier 2020 (Poky « Zeus » ), la deuxième de 2021 (Poky « Hardknott » ) (...)
23/07 - Un LLM sur un Raspberry PiJ’aime bien de temps en temps essayer des implémentations improbables, exécuter une tâche sur une plateforme inattendue ou l’écrire dans un langage peu approprié, juste pour l’exercice. Par exemple, il y a quelques temps, je m’étais amusé à imbriquer des émulateurs Qemu les uns dans les autres, en (...)
25/06 - Signer ses modules kernel avec Yocto ProjectPour des applications où l’aspect sécurité est particulièrement important, on souhaite souvent s’assurer de l’intégrité de l’espace mémoire et des activités du noyau Linux. Pour cela on vérifie que les modules chargés dynamiquement dans le noyau (les fichiers avec l’extension .ko) sont bien conformes à ceux (...)
03/06 - Utiliser Git LFS avec Yocto Kirkstone/ScarthgapLa fonctionnalité LFS (Large File Support) permet de superviser avec git des fichiers volumineux en évitant les téléchargements longs. Lors d’une opération git clone, le fichier original est remplacé par un fichier de référence beaucoup plus petit. Le remplacement inverse par le contenu initial n’a lieu (...)
19/02 - Early-init, les premiers instants du réveil de LinuxDans beaucoup de systèmes embarqués, il est important de réaliser certaines tâches au démarrage le plus rapidement possible et dans un ordre précis. Citons par exemple l’affichage d’un écran splashscreen, le montage d’une partition de données, l’initialisation des interfaces réseau, ou la mise à l’heure (...)
21/02 - Janvier 2038 et Linux 32 bitsVous avez sûrement déjà entendu parler du fameux «bug de 2038» qui menace certains systèmes informatiques. Qu’en est-il exactement et quels sont les risques encourus par les machines que nous déployons aujourd’hui ? Lire la suite de cette entrée (...)
03/02 - Imbriquer des systèmes Linux avec Yocto CookerCet article décrit un petit projet expérimental sans grande utilité, mais qui a aiguisé ma curiosité pendant quelques temps. Nous allons imbriquer les uns dans les autres des émulateurs de systèmes compilés avec Yocto Project. Outre le challenge un peu surréaliste que cela représente, nous verrons que (...)
27/01 - Yocto Cooker (3/3)Dans les deux premiers articles de cette série, nous avons vu comment écrire un menu assez complet pour Yocto Cooker afin de produire des images pour diverses plateformes. Pour le moment nous n’avons principalement utilisé que l’action cooker cook. Il est temps de voir les autres possibilités (...)
20/01 - Yocto Cooker (2/3)Dans le premier article de cette série nous avons vu comment utiliser cooker pour produire une image avec Yocto Project en ne renseignant qu’un seul fichier : le menu. Dans cet article nous allons voir comment compléter ce menu pour produire plusieurs builds en une seule commande, certains (...)
13/01 - Yocto Cooker (1/3)Cette petite série de trois articles présente un outil (Yocto Cooker) qui permet d’organiser tous les fichiers nécessaires à la compilation d’un système Linux embarqué avec Yocto Project. Cet outil permet également de lancer automatiquement un ou plusieurs builds (compilation d’images complètes prêtes à (...)
06/01 - Live Embedded Event #3Depuis un peu plus d’un an, j’ai le plaisir d’organiser régulièrement avec mes confrères de Bootlin, Smile et Theoris les Live Embedded Events. La troisième édition du Live Embedded Event aura lieu de mercredi 18 mai 2022. Il s’agit d’une journée de conférences en-ligne, dédiées à l’embarqué (les thèmes (...)
09/03 - Buildroot 2020.02 et Raspberry Pi 4Les développeurs de Buildroot ont publié hier une nouvelle mise à jour avec support « long terme ». Je vous propose dans cet article de l’utiliser pour créer un système complet pour Raspberry Pi 4 intégrant des packages standards, des recettes personnalisées pour intégrer du code métier, une partition (...)
06/01 - Linux embarqué avec Yocto ProjectThe Yocto Project est un outil permettant de produire des systèmes embarqués avec Linux. Il est un peu plus complexe à aborder que son confrère Buildroot dont j’ai parlé ici à plusieurs reprises. Je vous propose un cours en ligne pour découvrir Yocto et apprendre à préparer des systèmes Linux autonomes (...)
20/12 - Un port Ethernet supplémentaire sur Raspberry PiJ’ai eu l’occasion, pour le projet d’un client, de tester un petit circuit permettant de disposer d’un port Ethernet sur bus SPI. Je me suis amusé à l’installer sur un Raspberry Pi 3, cela fonctionne assez facilement. Peut-être serez-vous également tentés d’ajouter un port Ethernet à votre Pi ? Cela (...)
04/03 - Bref aperçu de Linux 5.0Linus Torvalds a publié ce matin une nouvelle version du noyau Linux inaugurant la nouvelle branche « 5 ». Précisons que le passage de la branche 4 à la branche 5 n’a pas de signification particulière, il n’y a pas plus de différence entre le noyau 4.20 et le 5.0 qu’entre le 4.19 et 4.20 par exemple. (...)