Skip to content
 
 

Latest commit

 

History

1,463,126 Commits

Folders and files

NameName
Last commit message
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>

About

Linux kernel source tree

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages