-
20/10 - Analyser les rapports CVE de Yocto avec cve-parse
Pour faciliter l’analyse des rapports concernant les CVE produits lors d’un build Yocto Project, j’ai développé un petit outil nommé cve-parse. Il permet d’obtenir rapidement une vue d’ensemble des composants d’une image, de consulter les vulnérabilités associées à un composant particulier ou de (…)
-
13/10 - Que faire face à une vulnérabilité dans un équipement embarqué ?
Imaginons une situation qui, malheureusement, risque de devenir familière aux fabricants de produits connectés. Mardi matin, 9 h 15. Vous apprenez qu’une vulnérabilité concernant une bibliothèque Open Source utilisée dans votre produit est désormais activement exploitée. (La définition (…)
-
07/10 - Debug applicatif avec Eris Linux
Une fois l’application métier développée, le container correspondant construit et déployé sur une carte (ou un groupe de cartes) de test, il est souvent nécessaire de passer à une étape moins réjouissante : le debug ! Analyser le comportement d’une application fonctionnant dans un container, (…)
-
02/10 - Yocto Cooker 1.6.0
Nous venons de publier une nouvelle version de Yocto Cooker (1.6.0) sur PyPi. Pendant longtemps, Cooker partait du principe que le menu utilisait le repository Poky. Or, ce dépôt n’est plus utilisé pour les branches ultérieures à novembre 2025 (Whinlatter, Wrynose et la future Blacksail). Il (…)
-
22/09 - Les API d’Eris Linux
Nous avons vu dans les articles précédents de cette série : Les applications que l’on embarque sous forme de code « métier » ne sont que très rarement auto-suffisantes. Elles ont souvent besoin de communiquer avec le système sous-jacent pour consulter ou configurer des éléments du système (par (…)
-
15/09 - Développer du code personnalisé pour Eris Linux
Dans les articles précédents de cette série consacrée à Eris Linux, nous avons commencé par examiner les principes et les avantages d’Eris. Nous avons ensuite étudié comment installer Eris Linux sur une carte standard (un Raspberry Pi 5) puis comment déployer depuis le Device Manager des (…)
-
08/09 - Déployer des containers sur Eris Linux
Nous avons vu dans les articles précédents en quoi consistait la distribution industrielle Eris Linux et comment l’installer aisément sur une carte du commerce, un Raspberry Pi 5 en l’occurrence. J’avais indiqué que j’aimais comparer Eris Linux à un vaisseau porte-containers. C’est le moment de (…)
-
01/09 - Installer Eris Linux sur un Raspberry Pi 5
Eris Linux est une distribution conçue pour les usages industriels de Linux embarqué. Une attention particulière a été apportée à sa robustesse ainsi qu’à sa simplicité de mise en œuvre et d’utilisation. Pour mieux comprendre son architecture et ses objectifs, je vous encourage à consulter (…)
-
25/08 - Eris Linux, une distribution industrielle pour l’embarqué
Eris Linux est une distribution Linux industrielle prévue spécifiquement pour les systèmes embarqués. Elle est simple à utiliser et à mettre en œuvre sur un parc de machines, et simplifie la conformité aux exigences du Cyber Resilience Act. Je souhaite dans cet article vous présenter les (…)
-
11/11 - Se passer de Poky
L’éco-système « The Yocto Project » est assez touffu. En effet, Yocto Project chapeaute plusieurs sous-projets pour lesquels il fournit des ressources de développement : Bitbake, Open Embedded, Poky, les layers des sponsors « platiniums » ainsi que l’hébergement de nombreux layers supportant (…)
-
16/04 - [Yocto Tip] Raspberry Pi 5 Console
Le Raspberry Pi 5 dispose d’une interface de debug spécifique basée sur un connecteur JST 1mm. Toutefois, il est souvent préférable lorsqu’on veut se connecter en utilisant une console série, d’utiliser le port d’extension habituel, avec ses broches 6 (GND), 8 (TX) et 10 (RX) comme les (…)
-
16/11 - [Yocto Tip] Build Timestamp
J’ai souvent des idées de petites astuces minimales mais intéressantes pour l’utilisation de Yocto Project (ou d’autres sujets). Après avoir longtemps hésité à les publier car elles sont généralement très brèves, j’ai décidé de les poster dans cette nouvelle rubrique ‘[Yocto Tip]’. Cet article (…)
-
29/10 - Zephyr OS – 2 – Application personnalisée
Nous avons vu dans le premier article de cette série comment construire une image de Zephyr OS pour Raspberry Pi Pico en utilisant un exemple basique (« blinky« ). Nous allons à présent voir comment développer une application personnelle très simple, toujours sur le microcontrôleur pour (…)
-
15/10 - Zephyr OS – 1 – Découverte sur Raspberry Pi Pico
Zephyr 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 (…)
-
07/10 - Essai anticipé du temps réel de Linux 6.12
La 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 contextuelles
Nous 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 globales
Lorsqu’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 Bitbake
Lorsqu’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 « (…)
-
23/07 - Un LLM sur un Raspberry Pi
J’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 Project
Pour 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/Scarthgap
La 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 Linux
Dans 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 (...)
-
16/11 - Sans titre
-
21/02 - Janvier 2038 et Linux 32 bits
Vous 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 Cooker
Cet 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 #3
Depuis 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 4
Les 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 Project
The 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 Pi
J’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.0
Linus 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. (...)