Académique Documents
Professionnel Documents
Culture Documents
Unix/Linux embarqué
Librairie C
GNU C library, uClibc...
Noyau système Espace
Linux, Hurd... noyau
Matériel et périphériques
Matériel
Le système Linux
Noyau libre semblable à un noyau Unix, conçu par Linus
Torvalds en 1991.
Le système complet se repose sur les outils GNU:
bibliothèque C, gcc, binutils, fileutils, make, emacs…
Le système complet est donc appelé “GNU / Linux”
Très tôt partagé comme Logiciel Libre (Licence GPL), ce qui
attira des contributeurs et des utilisateurs de plus en plus
nombreux.
Depuis 1991, connaît une croissance supérieure à tout
autre système d'exploitation (pas seulement Unix).
Le MBR est le nom du premier secteur adressable d'un disque dur (Pour
un partitionnement Intel : cylindre 0, tête 0 et secteur 1). Il contient la
table des partitions du disque dur et également une routine d'amorçage
dont le but est de charger le OS, ou le chargeur d'amorçage (boot loader)
s'il existe, présent sur la partition active.
Séquence de démarrage de Linux
Elle est toujours la même :
Grand Stockage
temporaire
bin/
Syslog est un protocole définissant un service de journaux d'événements d'un syst. info
Etapes de chargement du système
Les grandes étapes du Boot
Du BIOS … à l’UEFI
La séquence de Boot: BIOS
La séquence de Boot: MBR
La séquence de Boot: LILO
Chargeur de Noyau: LILO et GRUB
Installation de LILO
Exemple de /etc/lilo.conf
Installation de GRUB (1)
Installation de GRUB (2)
Exemple de /boot/grub/grub.conf
Des chargeurs pour l’embarqué
Paramétrage du noyau au démarrage
Séquence de Boot: Noyau
Séquence de Boot: init
Séquence de Boot: Changement de
runlevel
Séquence de Boot: /etc/inittab (1)
Séquence de Boot: /etc/inittab (2)
Séquence de Boot: /etc/inittab (3)
Un Noyau: c’est quoi ?
Différents types de Noyau
Comparaison des types de Noyau
Noyau vs Système d’Exploitation
Numérotation des versions Linux
Quel Noyau choisir ?
Architectures matérielles supportées
Organisation des sources Linux
Construction du Noyau (≤ 2.4)
Construction du Noyau (2.6)
Installation définitive du Noyau
Dans quels cas compiler son Noyau?
Compilation croisée
Mode Utilisateur et Mode Noyau (1)
Mode Utilisateur et Mode Noyau (2)
Mode Utilisateur et Mode Noyau (3)
Mode Utilisateur et Mode Noyau (4)
Mode Utilisateur et Mode Noyau (5)
Espace d’adressage Utilisateur vs
Noyau (1)
Espace d’adressage Utilisateur vs
Noyau (2)
Qu’est-ce que la virtualisation ?
Plusieurs logiciels
Différents types de virtualisation
Différents types de virtualisation
Host et Guest: Plusieurs
Configurations
Host only, NAT, Bridged
Echange de fichiers via le réseau
Programme Unix pour ES – Partie II
Modules vu par Linux – Ajout de fonctionnalités au Noyau
Liaisons dynamiques, modules dynamiques, macros de
documentation, licence des modules, écriture, compilation et
configuration d’un module, dépendances des modules,
passage de paramètres à un module
Débuguer un Dev Noyau
Processus
Concepts de base, état, attributs, filiation et information sur les
processus
Multitâches, types, algorithmes et politiques d’ordonnancement
Ordonnancement et Linux
Création des processus (la primitive clone et son principe
d’implémentation)
Programme Unix pour ES – Partie II
Pilotes et périphériques
Types, Majeur/Mineur, définition d’un fichier dans /dev
Mise en œuvre d’un pilote
Au cœur d’un pilote (dissection d’un pilote de périphérique)
Les pilotes et périphériques côté « espace utilisateur »
Nouveau modèle de périphériques
Gestion des périphériques
Gestion des fichiers pilotes dans l’espace utilisateur
Allocation dynamique de mémoire
Objectifs Unix pour ES
Objectifs Unix pour ES – Partie I
Appréhender le contexte général de mise en œuvre de
Linux dans les systèmes embarqués
Maîtriser la production et l’intégration d’un exécutif Linux
sur une cible
Objectifs Unix pour ES – Partie II
Exploiter une chaîne de développement croisé pour le
développement d’applications
Être en mesure de développer des modules «noyau» et
des pilotes de périphériques