0xAX/linux-insides

A book-in-progress about the Linux kernel and its insides.

Python

33,645

2,064 commits

updated Oct 10, 2026

See the code

README

linux-insides

A book-in-progress about the Linux kernel and its insides.

Introduction • Chapter status • Requirements • Translations • Contributing • Author

Read online Linux kernel x86_64 Sponsors License
Patreon Buy Me a Coffee

Linux insides — a book-in-progress about the Linux kernel and its insides

Introduction

linux-insides is a book-in-progress about the Linux kernel and its insides. The goal of this project is simple - to share knowledge about the Linux kernel internals and related low-level topics. If you're curious about what's under the hood, see the Table of Contents.

Chapter status (kernel v7.2.0)

[!IMPORTANT] I started writing this series when the latest version of the kernel was 3.18. A lot has changed since then, and I am in progress of updating the content to reflect modern kernels (v6.18+). I'll continue revising the posts as the kernel evolves.

  • Booting (updated for v7.2.0)
  • Initialization (pending v6.18.0 review)
  • Interrupts (pending v6.18.0 review)
  • System calls (pending v6.18.0 review)
  • Timers and time management (pending v6.18.0 review)
  • Synchronization primitives (pending v6.18.0 review)
  • Memory management (pending v6.18.0 review)
  • Cgroups (pending v6.18.0 review)
  • SMP (pending v6.18.0 review)
  • Kernel mechanisms (pending v6.18.0 review)
  • Data Structures in the Linux Kernel (pending v6.18.0 review)
  • x86 fundamentals (pending v6.18.0 review)
  • Toolchain and binaries (pending v6.18.0 review)
  • Initial ram disk (pending v6.18.0 review)
  • Contributing to the Linux kernel (pending v6.18.0 review)

Requirements

[!TIP] You can get started with Assembler with my other series of posts about the Assembly programming.

Translations

Thanks to the volunteers, the posts about Linux are translated into different languages.

[!NOTE] The translations may diverge from the original content.

Contribution

Read the Contribution guide to learn how to contribute to the project. When contributing, make sure to follow the Code of Conduct.

If you have any questions or suggestions, feel free to ping me at Twitter @0xAX, add an issue, or drop me an email.

Mailing list

There is a Google group mailing list (kernelhacking@googlegroups.com) for learning the kernel source code.

To join the group, send an email to kernelhacking+subscribe@googlegroups.com. You will receive a confirmation email. After replying to it, you will be added to the mailing list.

[!TIP] If you have a Google account, you can simply open the archive page and click Apply to join group. You will be approved automatically.

Sponsors

Thanks to the people supporting this project on Patreon:

License

This project is licensed under the BY-NC-SA Creative Commons.

Author

The technical content is written by @0xAX.

Additional big thanks to @klaudiagrz for text improvements.

linux
linux-insides
linux-kernel

0xAX/linux-insides

A book-in-progress about the Linux kernel and its insides.

Python

33,645

2,064 commits

updated Oct 10, 2026

See the code

README

linux-insides

A book-in-progress about the Linux kernel and its insides.

Introduction • Chapter status • Requirements • Translations • Contributing • Author

Read online Linux kernel x86_64 Sponsors License
Patreon Buy Me a Coffee

Linux insides — a book-in-progress about the Linux kernel and its insides

Introduction

linux-insides is a book-in-progress about the Linux kernel and its insides. The goal of this project is simple - to share knowledge about the Linux kernel internals and related low-level topics. If you're curious about what's under the hood, see the Table of Contents.

Chapter status (kernel v7.2.0)

[!IMPORTANT] I started writing this series when the latest version of the kernel was 3.18. A lot has changed since then, and I am in progress of updating the content to reflect modern kernels (v6.18+). I'll continue revising the posts as the kernel evolves.

  • Booting (updated for v7.2.0)
  • Initialization (pending v6.18.0 review)
  • Interrupts (pending v6.18.0 review)
  • System calls (pending v6.18.0 review)
  • Timers and time management (pending v6.18.0 review)
  • Synchronization primitives (pending v6.18.0 review)
  • Memory management (pending v6.18.0 review)
  • Cgroups (pending v6.18.0 review)
  • SMP (pending v6.18.0 review)
  • Kernel mechanisms (pending v6.18.0 review)
  • Data Structures in the Linux Kernel (pending v6.18.0 review)
  • x86 fundamentals (pending v6.18.0 review)
  • Toolchain and binaries (pending v6.18.0 review)
  • Initial ram disk (pending v6.18.0 review)
  • Contributing to the Linux kernel (pending v6.18.0 review)

Requirements

[!TIP] You can get started with Assembler with my other series of posts about the Assembly programming.

Translations

Thanks to the volunteers, the posts about Linux are translated into different languages.

[!NOTE] The translations may diverge from the original content.

Contribution

Read the Contribution guide to learn how to contribute to the project. When contributing, make sure to follow the Code of Conduct.

If you have any questions or suggestions, feel free to ping me at Twitter @0xAX, add an issue, or drop me an email.

Mailing list

There is a Google group mailing list (kernelhacking@googlegroups.com) for learning the kernel source code.

To join the group, send an email to kernelhacking+subscribe@googlegroups.com. You will receive a confirmation email. After replying to it, you will be added to the mailing list.

[!TIP] If you have a Google account, you can simply open the archive page and click Apply to join group. You will be approved automatically.

Sponsors

Thanks to the people supporting this project on Patreon:

License

This project is licensed under the BY-NC-SA Creative Commons.

Author

The technical content is written by @0xAX.

Additional big thanks to @klaudiagrz for text improvements.

linux
linux-insides
linux-kernel

Project health

Overall

4.7/10

Maintained

10/10

Code review

0/10
OpenSSF Scorecard

Significant stargazers

(top 24 of 493)

Rudi Grinberg

461 followers · starred Aug 2015

Michael Klishin

2,018 followers · starred Jul 2015

Steve Klabnik

7,482 followers · starred Feb 2015

Yuan Yu

510 followers · starred Aug 2020