Click here to start
Table of contents
NOYAU LINUX POUR L'EMBARQUÉ ET DÉVELOPPEMENT DE PILOTES
Remerciements
Licence
Traduction française
Plus facile à lire avec...
Contenu (1)
Contenu (2)
Contenu (3)
Contenu (4)
Contenu (5)
Version du noyau étudiée: 2.6
INTRODUCTION
Rôle du noyau
Linux history
Numérotation des versions de Linux
Architectures matérielles supportées
Caractéristiques principales de Linux
INTRODUCTION - Problèmes légaux
INTRODUCTION - Problèmes légaux - Contraintes de licences
A propos des logiciels libres
La licence GPL
Plus de détails sur la GPL et le Copyleft
Contraintes de licence sur le noyau Linux (1)
Contraintes de Licences sur le noyau Linux (2)
Avantages des pilotes libres
INTRODUCTION - Problèmes légaux - Brevets logiciels
Les brevets logiciels: la grande menage
Musée des horreurs en brevets logiciels
Comment éviter les problèmes de brevets
Faire face à des problèmes de brevets
INTRODUCTION - Interface utilisateur du noyau
Interface utilisateur du noyau
COMPILATION ET DÉMARRAGE DE LINUX
COMPILATION ET DÉMARRAGE DE LINUX - Récupérer les sources
Accéder aux sources du noyau
Vérifiez l'intégrité des sources
Utiliser la commande patch
Exemple d'utilisation de patch
Liens utiles sur les sources du noyau
COMPILATION ET DÉMARRAGE DE LINUX - Structure des fichiers source
Structure des sources Linux (1)
Structure des sources Linux (2)
COMPILATION ET DÉMARRAGE DE LINUX - Modules du noyau
Modules noyau (1)
Modules noyau (2)
COMPILATION ET DÉMARRAGE DE LINUX - Configuration du noyau
Configuration du noyau
Changement dans Makefile
make xconfig
Copie d'écran de qconf
make menuconfig / oldconfig
COMPILATION ET DÉMARRAGE DE LINUX - Compiler le noyau
Compiler et installer le noyau
Compiler plus rapidement
Astuces pour la compilation du noyau
Fichiers générés
Fichiers installés (1)
Fichiers installés (2)
Fichiers installés (3)
Résumé de la compilation du noyau
COMPILATION ET DÉMARRAGE DE LINUX - Compilation croisée du noyau
Modification du Makefile
Configurer le noyau
Paramétrage de la compilation croisée
Construire le noyau
COMPILATION ET DÉMARRAGE DE LINUX - Le chargeur de démarrage
Le travail du chargeur de démarrage
Chargeurs de démarrage à 2 niveaux
Quelques chargeurs de démarrage (1)
Quelques chargeurs de démarrage (2)
Quelques chargeurs de démarrage (3)
Ligne de commande du noyau
Paramètres les plus utilisés
COMPILATION ET DÉMARRAGE DE LINUX - Déboguer avec le port série
Utilitié d'un port série
Quand vous n'avez pas de port série
COMPILATION ET DÉMARRAGE DE LINUX - Création d'un disque mémoire initial (initrd)
Initrd
Comment créer un initrd
En savoir plus sur les initrd
DÉVELOPPEMENT DE PILOTES DE PÉRIPHÉRIQUES
DÉVELOPPEMENT DE PILOTES DE PÉRIPHÉRIQUES - Pilotes de périphériques pour Linux
Pilotes caractère
Pilotes bloc
Nombres majeurs et nombres mineurs
Création des fichiers de périphériques
Autres types de pilotes
DÉVELOPPEMENT DE PILOTES DE PÉRIPHÉRIQUES - Un exemple de module
Le module hello
Licence des modules
Utilité des licences de module
Règles de codage des modules (1)
Règles de codage des modules (2)
Compiler un module
Utilisation du module
Utilitaires pour les modules
DÉVELOPPEMENT DE PILOTES DE PÉRIPHÉRIQUES - Définir et passer des paramètres aux modules
Le module hello avec des paramètres
Utiliser le module hello_param
Déclarer des paramètres de module (1)
Déclarer des paramètres de module (2)
Passer des paramètres aux modules
DÉVELOPPEMENT DE PILOTES DE PÉRIPHÉRIQUES - Dépendance de modules
Dépendances de modules
DÉVELOPPEMENT DE PILOTES DE PÉRIPHÉRIQUES - Ajouter des sources au noyau
Nouveau répertoire dans le noyau (1)
Nouveau répertoire dans le noyau (2)
DÉVELOPPEMENT DE PILOTES DE PÉRIPHÉRIQUES - Débogage du noyau
Débogguer avec printk
ksymoops
Deboguer avec kprobes
Astuce de déboguage du noyau
PÉRIPHÉRIQUES CARACTÈRE
Codes d'erreur de Linux
Enregistrement des périphériques
Périphériques enregistrés
Trouver un numéro majeur libre
Opérations sur les fichiers (1)
Opérations sur les fichiers (2)
La structure "file"
Résumé pilotes caractère
GESTION DE LA MÉMOIRE
kmalloc et kfree
Propriétés de kmalloc
Options pour kmalloc
Options pour kmalloc (2)
Allocation par pages
Libérer des pages
Mapper des adresses physiques
Utilitaires pour la mémoire
MÉMOIRE ET PORT D'E/S
Demander des ports d'E/S
Lire / écrire sur les ports d'E/S
Lire / écrire une chaîne sur les ports d'E/S
Demander de la mémoire d'E/S
Choisir un intervalle d'E/S
Différences avec la mémoire standard
Eviter les problèmes d'accès aux E/S
Mémoire mappée directement
Mapper la mémoire d'E/S en mémoire virtuelle
S'ENDORMIR
Comment s'endormir
Se réveiller!
GESTION DES INTERRUPTIONS
Les interruptions, pour quoi faire?
Enregistrer un gestionnaire d'interruption (1)
Enregistrer un gestionnaire d'interruption (2)
Quand enregistrer le gestionnaire
Information sur les gestionnaires installés
Nombre total d'interruptions
Détection du canal d'interruption (1)
Détection du canal d'interruption (2)
Le travail du gestionnaire d'interruption
Contraintes du gestionnaire d'interruption
Prototype d'un gestionnaire
Traitement parties haute et basse (1)
Traitement parties haute et basse (2)
Résumé de la gestion des interruptions
MMAP
mmap
Zones de Mémoire Virtuelle (1)
Zones de Mémoire Virtuelle (2)
mmap simple
DMA - Accès Direct à la Mémoire
Utilisation de la DMA
Contraintes mémoire
Mappages DMA perments ou de flux
API générique DMA
NOUVEAU MODÈLE DE PERIPHÉRIQUES
Caractéristiques (1)
Caractéristiques (2)
sysfs
Outils sysfs
La structure "device"
Attributs de périphériques
La structure "device_driver"
Références pour le "Device Model"
BRANCHEMENT A CHAUD (HOTPLUG)
hotplug overview
Exemple de flux hotplug
Fichiers pour hotplug
Références sur hotplug
UDEV - Gestion des fichiers de périphériques dans l'espace utilisateur
Problèmes et limitations de /dev
La solution devfs et ses limitations
Caractéristiques de udev
La boîte à outils de udev (1)
La boite à outils de udev (2)
Le fichier de configuration de udev
Capacités de nommage de udev
Exemple de fichier de règles pour udev
Exemple de fichier de permissions pour udev
/etc/dev.d/
Résumé de udev
Liens udev
CONSEILS ET RESSOURCES
Sécurité du système
CONSEILS ET RESSOURCES - Using Ethernet over USB section
Ethernet à travers USB (1)
Ethernet à travers USB (2)
CONSEILS ET RESSOURCES - Système de fichier racine sur l'hôte à travers NFS
Utilité d'une partition racine sur NFS
Exemple de configuration de NFS
Utilisation de pivot_root
CONSEILS ET RESSOURCES - Choix du système de fichiers
Systèmes de fichier bloc ou MTD
Systèmes de fichiers bloc populaires
Systèmes de fichiers bloc en lecture seule
Le sous-système MTD
Systèmes de fichiers MTD
Systèmes de fichiers bloc sur MTD
Choix du système de fichiers pour vos flash
Monter une image jffs2
CONSEILS ET RESSOURCES - Obtenir de l'aide et des contributions
Résoudre les problèmes
Trouver de l'aide
Obtenir des contributions
Encourager les contributions
CONSEILS ET RESSOURCES - Rapport de bogues et soumission de correctifs aux développeurs Linux
Signaler des bogues Linux
Comment créer des patches Linux
Comment soumettre des patches ou des pilotes
CONSEILS ET RESSOURCES - Références
Sites d'information (1)
Sites d'information (2)
Lectures utiles
Références
Resources ARM
Le projet ARM Linux
CONSEILS ET RESSOURCES - Dernier conseil
Use the Source, Luke
Autres documents
Travaux pratiques
Services de conseil et de formation
Author:
Free Electrons
E-mail:
info@free-electrons.com
Homepage:
http://free-electrons.com/