Linux Embedded

Le blog des technologies libres et embarquées

Étiquette : kernel

Le Temps Reel sous Linux

Dans cet article, nous allons discuter de l’intérêt ainsi que des avantages et inconvénients d’utiliser un noyau Linux temps réel. L’objectif de cet article n’est pas de décrire ce qu’est le temps réel mais pourquoi et comment l’utiliser. Aux lecteurs curieux et intéressés par le temps réel, je recommande le livre de Christophe Blaess, Solutions temps réel sous Linux. Introduction Historique…

My first Linux kernel built with Clang compiler!

Following his internship at Smile in 2018 on LLVM/Clang integration into Buildroot [1], Valentin Korenblit still maintains these packages on his spare time (thanks to him!), up to the latest current version llvm/Clang 8.0.0. At the same time the Linux kernel continues evolving to support Clang compiler thanks to Google engineers. See Phoronix article [2] and « Compiling the Linux kernel…

Les secrets du traceur eBPF

Introduction Le traçage permet d’instrumenter un noyau pour capturer les événements bas niveau (allocation mémoire, changement de contexte, réception d’un paquet réseau, …,etc). Le traçage a fait l’objet des deux articles précédents, nous avons présenté des outils tels que Ftrace, Perf et Lttng. Dans cet article, nous allons décrire eBPF, le traceur le plus performant sous Linux. Quelques généralités sur…

Les traceurs sous linux (2/2)

Introduction Les applications et les systèmes d’exploitation sont devenus très complexes, de nombreux outils de traçage sont apparus au cours de la dernière décennie. Leur but est d’instrumenter et optimiser la qualité des programmes en termes de performances et de robustesse. Après l’article précédent sur Ftrace, nous allons apprendre a utiliser les traceurs Perf et LTTng. Perf Perf est un…

Les traceurs sous linux (1/2)

Introduction L’analyse des performances est essentiel pour tout processus de développement d’une application logicielle. En plus du débogage, il est nécessaire d’utiliser des pratiques d’instrumentation pour garantir les performances attendues d’une application (ou même d’un noyau). L’instrumentation consiste essentiellement à surveiller et à mesurer les performances, à diagnostiquer les erreurs et à écrire des informations de suivi dans les environnements…

Survol des outils de debug

Introduction Dans le développement de logiciels, le débogage consiste à localiser et à corriger les erreurs de code dans un programme informatique. Le débogage fait partie du processus de test logiciel et fait partie intégrante du cycle de vie du développement. Le débogage est souvent difficile pour les programmeurs, Norman Matloff et Peter Jay Salzman disent: Déboguer, c’est chercher une…

kernel, udev et systemd : la gestion du hotplug

La gestion des événements hardware est un domaine un peu mystérieux sous linux. Le noyau voit des événements, udev réagit, et il se passe des choses. Cet article va essayer de démystifier cet aspect des systèmes linux en implémentant quelque chose de simple : changer automatiquement la luminosité de l’écran lorsque l’alimentation d’un ordinateur portable est branchée. Pour cela nous…

Secure Boot et UEFI

Introduction Le boot sécurisé, ou Secure Boot, est arrivé avec les EFI et permet de restreindre le lancement de certaines applications seulement au démarrage de la machine. Une application UEFI est un binaire au format Portable Executable, au même titre que les .exe de Windows, dont l’extension est .EFI. Le boot sécurisé permet donc de contrôler l’exécution de ces fichiers binaires en…

Sortie du noyau 3.19

Linus Torvalds vient d’annoncer la dernière mouture du noyau Linux et voici un petit inventaires des nouveautés. La version 3.19 du noyau Linux voit l’ajout de la gestion des « device-tree overlays », une fonctionnalité qui va être particulièrement utile pour le monde de l’embarqué. Pour rappel, les device-tree sont des fichiers permettant de décrire une architecture matérielle de façon indépendante de…

Modification du noyau Linux AOSP

Introduction Dans les précédents articles, nous avons vu comment produire une image AOSP utilisable dans l’émulateur Android. Nous avons également décrit les principales fonctions de l’outil ADB (Android Debug Bridge) indispensable au développement Android « système ». Dans cet article nous allons décrire la procédure de mise à jour du noyau Linux utilisé par l’émulateur Android. En effet, le noyau utilisé jusqu’à…