Folders and files
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Repository files navigation
# Linux Kernel <div align="center"> <img src="https://upload.wikimedia.org/wikipedia/commons/3/35/Tux.svg" alt="Linux Tux" width="140"> # Linux Kernel ### The core of every Linux operating system The Linux kernel manages hardware resources, memory, processes, scheduling, device drivers, networking, filesystems, and security, providing the foundation for all Linux-based systems. <p> <a href="https://kernel.org"> <img src="https://img.shields.io/badge/Website-kernel.org-0A0A0A?style=for-the-badge&logo=linux&logoColor=white" alt="Kernel.org"> </a> <a href="https://www.kernel.org/doc/html/latest/"> <img src="https://img.shields.io/badge/Documentation-Latest-blue?style=for-the-badge&logo=readthedocs&logoColor=white" alt="Documentation"> </a> <a href="https://lore.kernel.org/"> <img src="https://img.shields.io/badge/Community-lore.kernel.org-orange?style=for-the-badge&logo=maildotru&logoColor=white" alt="Community"> </a> <a href="COPYING"> <img src="https://img.shields.io/badge/License-GPLv2-green?style=for-the-badge" alt="License"> </a> </p> </div> --- ## 📖 Overview The Linux kernel is the core component of every Linux operating system. It acts as a bridge between hardware and software, handling: - Process scheduling - Memory management - Device drivers - Filesystems - Networking - Security mechanisms - Power management - Virtualization --- ## 🚀 Quick Start ### Get the source ```bash git clone https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git cd linux ``` ### Build the kernel Install the required dependencies for your distribution, then run: ```bash make defconfig make -j$(nproc) ``` ### Build the documentation ```bash make htmldocs ``` Documentation will be available under: ```text Documentation/output/ ``` Or view it online: https://www.kernel.org/doc/html/latest/ --- ## 🗂 Repository Structure ```text arch/ Architecture-specific code block/ Block layer certs/ System certificates crypto/ Cryptographic APIs Documentation/ Kernel documentation drivers/ Device drivers fs/ Filesystems include/ Kernel headers init/ Initialization code ipc/ Inter-process communication kernel/ Core kernel functionality lib/ Generic helper libraries mm/ Memory management net/ Networking subsystem samples/ Example code scripts/ Build and maintenance scripts security/ Security framework sound/ Audio subsystem tools/ User-space utilities usr/ Early userspace code virt/ Virtualization infrastructure ``` --- ## 📚 Documentation ### Essential Resources | Topic | Location | |-------|----------| | Reporting Issues | `Documentation/admin-guide/reporting-issues.rst` | | Build Requirements | `Documentation/process/changes.rst` | | Code of Conduct | `Documentation/process/code-of-conduct.rst` | | Development Process | `Documentation/process/development-process.rst` | | Submitting Patches | `Documentation/process/submitting-patches.rst` | | Coding Style | `Documentation/process/coding-style.rst` | | Kernel Build System | `Documentation/kbuild/index.rst` | | Core APIs | `Documentation/core-api/index.rst` | | Security Documentation | `Documentation/security/index.rst` | | Driver API | `Documentation/driver-api/index.rst` | | Maintainer Handbook | `Documentation/maintainer/index.rst` | --- ## 👥 Find Your Role ### New Kernel Developer - Development Process - Your First Patch - Coding Style - Kernel Hacking Guide - Development Tools - Core APIs ### Academic Researcher - Memory Management - Scheduler - Networking Stack - Filesystems - RCU (Read-Copy Update) - Locking Primitives - Power Management ### Security Expert - Linux Security Modules (LSM) - Kernel Self Protection - Vulnerability Reporting - CVE Process - Seccomp ### Backport / Maintenance Engineer - Stable Kernel Rules - Backporting - Applying Patches - Maintainer Entry Profile - Git Configuration ### System Administrator - Administration Guide - Kernel Parameters - Sysctl Tuning - Tracing and Debugging - Hardware Monitoring ### Maintainer - Pull Requests - Patch Management - Rebasing and Merging - Development Workflow ### Hardware Vendor - Driver API - Driver Model - Device Tree Bindings - DMA API - Power Management ### Distribution Maintainer - ABI Documentation - Kernel Configuration - Module Signing - Tainted Kernels ### AI Coding Assistant AI-powered tools should review: ```text Documentation/process/coding-assistants.rst ``` This document describes: - Licensing requirements - Attribution rules - Developer Certificate of Origin (DCO) - AI contribution expectations --- ## 🤝 Communication & Support | Resource | Link | |----------|------| | Website | https://kernel.org | | Mailing Lists | https://lore.kernel.org/ | | Bug Tracker | https://bugzilla.kernel.org/ | | IRC | `#kernelnewbies` on `irc.oftc.net` | | MAINTAINERS | `MAINTAINERS` file | | Email Clients | `Documentation/process/email-clients.rst` | --- ## 📄 License The Linux kernel is licensed under the GNU General Public License version 2 (GPLv2). See the `COPYING` file for the full license text. --- <div align="center"> **Built by thousands of contributors worldwide.** Explore the code. Read the documentation. Contribute responsibly. </div>