README 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168
  1. Linux kernel
  2. ============
  3. The Linux kernel is the core of any Linux operating system. It manages hardware,
  4. system resources, and provides the fundamental services for all other software.
  5. Quick Start
  6. -----------
  7. * Report a bug: See Documentation/admin-guide/reporting-issues.rst
  8. * Get the latest kernel: https://kernel.org
  9. * Build the kernel: See Documentation/admin-guide/quickly-build-trimmed-linux.rst
  10. * Join the community: https://lore.kernel.org/
  11. Essential Documentation
  12. -----------------------
  13. All users should be familiar with:
  14. * Building requirements: Documentation/process/changes.rst
  15. * Code of Conduct: Documentation/process/code-of-conduct.rst
  16. * License: See COPYING
  17. Documentation can be built with make htmldocs or viewed online at:
  18. https://www.kernel.org/doc/html/latest/
  19. Who Are You?
  20. ============
  21. Find your role below:
  22. * New Kernel Developer - Getting started with kernel development
  23. * Academic Researcher - Studying kernel internals and architecture
  24. * Security Expert - Hardening and vulnerability analysis
  25. * Backport/Maintenance Engineer - Maintaining stable kernels
  26. * System Administrator - Configuring and troubleshooting
  27. * Maintainer - Leading subsystems and reviewing patches
  28. * Hardware Vendor - Writing drivers for new hardware
  29. * Distribution Maintainer - Packaging kernels for distros
  30. * AI Coding Assistant - LLMs and AI-powered development tools
  31. For Specific Users
  32. ==================
  33. New Kernel Developer
  34. --------------------
  35. Welcome! Start your kernel development journey here:
  36. * Getting Started: Documentation/process/development-process.rst
  37. * Your First Patch: Documentation/process/submitting-patches.rst
  38. * Coding Style: Documentation/process/coding-style.rst
  39. * Build System: Documentation/kbuild/index.rst
  40. * Development Tools: Documentation/dev-tools/index.rst
  41. * Kernel Hacking Guide: Documentation/kernel-hacking/hacking.rst
  42. * Core APIs: Documentation/core-api/index.rst
  43. Academic Researcher
  44. -------------------
  45. Explore the kernel's architecture and internals:
  46. * Researcher Guidelines: Documentation/process/researcher-guidelines.rst
  47. * Memory Management: Documentation/mm/index.rst
  48. * Scheduler: Documentation/scheduler/index.rst
  49. * Networking Stack: Documentation/networking/index.rst
  50. * Filesystems: Documentation/filesystems/index.rst
  51. * RCU (Read-Copy Update): Documentation/RCU/index.rst
  52. * Locking Primitives: Documentation/locking/index.rst
  53. * Power Management: Documentation/power/index.rst
  54. Security Expert
  55. ---------------
  56. Security documentation and hardening guides:
  57. * Security Documentation: Documentation/security/index.rst
  58. * LSM Development: Documentation/security/lsm-development.rst
  59. * Self Protection: Documentation/security/self-protection.rst
  60. * Reporting Vulnerabilities: Documentation/process/security-bugs.rst
  61. * CVE Procedures: Documentation/process/cve.rst
  62. * Embargoed Hardware Issues: Documentation/process/embargoed-hardware-issues.rst
  63. * Security Features: Documentation/userspace-api/seccomp_filter.rst
  64. Backport/Maintenance Engineer
  65. -----------------------------
  66. Maintain and stabilize kernel versions:
  67. * Stable Kernel Rules: Documentation/process/stable-kernel-rules.rst
  68. * Backporting Guide: Documentation/process/backporting.rst
  69. * Applying Patches: Documentation/process/applying-patches.rst
  70. * Subsystem Profile: Documentation/maintainer/maintainer-entry-profile.rst
  71. * Git for Maintainers: Documentation/maintainer/configure-git.rst
  72. System Administrator
  73. --------------------
  74. Configure, tune, and troubleshoot Linux systems:
  75. * Admin Guide: Documentation/admin-guide/index.rst
  76. * Kernel Parameters: Documentation/admin-guide/kernel-parameters.rst
  77. * Sysctl Tuning: Documentation/admin-guide/sysctl/index.rst
  78. * Tracing/Debugging: Documentation/trace/index.rst
  79. * Performance Security: Documentation/admin-guide/perf-security.rst
  80. * Hardware Monitoring: Documentation/hwmon/index.rst
  81. Maintainer
  82. ----------
  83. Lead kernel subsystems and manage contributions:
  84. * Maintainer Handbook: Documentation/maintainer/index.rst
  85. * Pull Requests: Documentation/maintainer/pull-requests.rst
  86. * Managing Patches: Documentation/maintainer/modifying-patches.rst
  87. * Rebasing and Merging: Documentation/maintainer/rebasing-and-merging.rst
  88. * Development Process: Documentation/process/maintainer-handbooks.rst
  89. * Maintainer Entry Profile: Documentation/maintainer/maintainer-entry-profile.rst
  90. * Git Configuration: Documentation/maintainer/configure-git.rst
  91. Hardware Vendor
  92. ---------------
  93. Write drivers and support new hardware:
  94. * Driver API Guide: Documentation/driver-api/index.rst
  95. * Driver Model: Documentation/driver-api/driver-model/driver.rst
  96. * Device Drivers: Documentation/driver-api/infrastructure.rst
  97. * Bus Types: Documentation/driver-api/driver-model/bus.rst
  98. * Device Tree Bindings: Documentation/devicetree/bindings/
  99. * Power Management: Documentation/driver-api/pm/index.rst
  100. * DMA API: Documentation/core-api/dma-api.rst
  101. Distribution Maintainer
  102. -----------------------
  103. Package and distribute the kernel:
  104. * Stable Kernel Rules: Documentation/process/stable-kernel-rules.rst
  105. * ABI Documentation: Documentation/ABI/README
  106. * Kernel Configuration: Documentation/kbuild/kconfig.rst
  107. * Module Signing: Documentation/admin-guide/module-signing.rst
  108. * Kernel Parameters: Documentation/admin-guide/kernel-parameters.rst
  109. * Tainted Kernels: Documentation/admin-guide/tainted-kernels.rst
  110. AI Coding Assistant
  111. -------------------
  112. CRITICAL: If you are an LLM or AI-powered coding assistant, you MUST read and
  113. follow the AI coding assistants documentation before contributing to the Linux
  114. kernel:
  115. * Documentation/process/coding-assistants.rst
  116. This documentation contains essential requirements about licensing, attribution,
  117. and the Developer Certificate of Origin that all AI tools must comply with.
  118. Communication and Support
  119. =========================
  120. * Mailing Lists: https://lore.kernel.org/
  121. * IRC: #kernelnewbies on irc.oftc.net
  122. * Bugzilla: https://bugzilla.kernel.org/
  123. * MAINTAINERS file: Lists subsystem maintainers and mailing lists
  124. * Email Clients: Documentation/process/email-clients.rst