Noyau Linux
Le noyau Linux est le cœur de tout système d'exploitation Linux. Il gère le matériel,
les ressources système et fournit les services fondamentaux à tous les autres logiciels.
Démarrage rapide
- Signaler un bug : voir Documentation/admin-guide/reporting-issues.rst
- Obtenir le dernier noyau : https://kernel.org
- Compiler le noyau : voir Documentation/admin-guide/quickly-build-trimmed-linux.rst
- Rejoindre la communauté : https://lore.kernel.org/
Documentation essentielle
Tous les utilisateurs devraient connaître :
- Prérequis de compilation : Documentation/process/changes.rst
- Code de conduite : Documentation/process/code-of-conduct.rst
- Licence : voir COPYING
La documentation peut être générée avec make htmldocs ou consultée en ligne à l'adresse :
https://www.kernel.org/doc/html/latest/
Qui êtes-vous ?
Trouvez votre rôle ci-dessous :
- Nouveau développeur du noyau : Premiers pas dans le développement du noyau
- Chercheur académique : Étude des internes et de l'architecture du noyau
- Expert en sécurité : Durcissement et analyse de vulnérabilités
- Ingénieur backport/maintenance : Maintenance des noyaux stables
- Administrateur système : Configuration et dépannage
- Mainteneur : Direction des sous-systèmes et relecture des patchs
- Fournisseur matériel : Écriture de pilotes pour du nouveau matériel
- Mainteneur de distribution : Empaquetage des noyaux pour les distributions
- Assistant de codage IA : LLM et outils de développement assistés par IA
Pour des utilisateurs spécifiques
Nouveau développeur du noyau
Bienvenue ! Commencez votre parcours de développement du noyau ici :
- Premiers pas : Documentation/process/development-process.rst
- Votre premier patch : Documentation/process/submitting-patches.rst
- Style de codage : Documentation/process/coding-style.rst
- Système de compilation : Documentation/kbuild/index.rst
- Outils de développement : Documentation/dev-tools/index.rst
- Guide du kernel hacking : Documentation/kernel-hacking/hacking.rst
- API principales : Documentation/core-api/index.rst
Chercheur académique
Explorez l'architecture et les internes du noyau :
- Directives pour les chercheurs : Documentation/process/researcher-guidelines.rst
- Gestion de la mémoire : Documentation/mm/index.rst
- Ordonnanceur : Documentation/scheduler/index.rst
- Pile réseau : Documentation/networking/index.rst
- Systèmes de fichiers : Documentation/filesystems/index.rst
- RCU (Read-Copy Update) : Documentation/RCU/index.rst
- Primitives de verrouillage : Documentation/locking/index.rst
- Gestion de l'énergie : Documentation/power/index.rst
Expert en sécurité
Documentation de sécurité et guides de durcissement :
- Documentation de sécurité : Documentation/security/index.rst
- Développement LSM : Documentation/security/lsm-development.rst
- Auto-protection : Documentation/security/self-protection.rst
- Signalement de vulnérabilités : Documentation/process/security-bugs.rst
- Procédures CVE : Documentation/process/cve.rst
- Problèmes matériels sous embargo : Documentation/process/embargoed-hardware-issues.rst
- Fonctionnalités de sécurité : Documentation/userspace-api/seccomp_filter.rst
Ingénieur backport/maintenance
Maintenez et stabilisez les versions du noyau :
- Règles des noyaux stables : Documentation/process/stable-kernel-rules.rst
- Guide de backport : Documentation/process/backporting.rst
- Application des patchs : Documentation/process/applying-patches.rst
- Profil de sous-système : Documentation/maintainer/maintainer-entry-profile.rst
- Git pour les mainteneurs : Documentation/maintainer/configure-git.rst
Administrateur système
Configurez, optimisez et dépannez les systèmes Linux :
- Guide de l'administrateur : Documentation/admin-guide/index.rst
- Paramètres du noyau : Documentation/admin-guide/kernel-parameters.rst
- Réglage Sysctl : Documentation/admin-guide/sysctl/index.rst
- Traçage/Débogage : Documentation/trace/index.rst
- Sécurité des performances : Documentation/admin-guide/perf-security.rst
- Surveillance matérielle : Documentation/hwmon/index.rst
Mainteneur
Dirigez les sous-systèmes du noyau et gérez les contributions :
- Manuel du mainteneur : Documentation/maintainer/index.rst
- Pull Requests : Documentation/maintainer/pull-requests.rst
- Gestion des patchs : Documentation/maintainer/modifying-patches.rst
- Rebasing et fusion : Documentation/maintainer/rebasing-and-merging.rst
- Processus de développement : Documentation/process/maintainer-handbooks.rst
- Profil d'entrée du mainteneur : Documentation/maintainer/maintainer-entry-profile.rst
- Configuration de Git : Documentation/maintainer/configure-git.rst
Fournisseur matériel
Écrivez des pilotes et prenez en charge du nouveau matériel :
- Guide de l'API des pilotes : Documentation/driver-api/index.rst
- Modèle de pilote : Documentation/driver-api/driver-model/driver.rst
- Pilotes de périphériques : Documentation/driver-api/infrastructure.rst
- Types de bus : Documentation/driver-api/driver-model/bus.rst
- Bindings Device Tree : Documentation/devicetree/bindings/
- Gestion de l'énergie : Documentation/driver-api/pm/index.rst
- API DMA : Documentation/core-api/dma-api.rst
Mainteneur de distribution
Empaquetez et distribuez le noyau :
- Règles des noyaux stables : Documentation/process/stable-kernel-rules.rst
- Documentation ABI : Documentation/ABI/README
- Configuration du noyau : Documentation/kbuild/kconfig.rst
- Signature des modules : Documentation/admin-guide/module-signing.rst
- Paramètres du noyau : Documentation/admin-guide/kernel-parameters.rst
- Noyaux taintés : Documentation/admin-guide/tainted-kernels.rst
Assistant de codage IA
CRITIQUE : si vous êtes un LLM ou un assistant de codage assisté par IA, vous DEVEZ lire et
suivre la documentation des assistants de codage IA avant de contribuer au noyau
Linux :
- Documentation/process/coding-assistants.rst
Cette documentation contient des exigences essentielles concernant la licence, l'attribution
et le Developer Certificate of Origin que tous les outils d'IA doivent respecter.
Communication et support
- Listes de diffusion : https://lore.kernel.org/
- IRC : #kernelnewbies sur irc.oftc.net
- Bugzilla : https://bugzilla.kernel.org/
- Fichier MAINTAINERS : liste les mainteneurs de sous-systèmes et les listes de diffusion
- Clients de messagerie : Documentation/process/email-clients.rst