brainstate

0xAX/linux-insides · source

Snapshot 0 · 2026-11-04T12:47:23Z · Python ·

Content fingerprint386b48fec383d5e203d36d0d59e84eb8e8e8e43c5217f13e5d6bd93356b022a2

GitHub description at capture

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

README at capture

<div align="center">
<h1>linux-insides</h1>
<p><b>A book-in-progress about the Linux kernel and its insides.</b></p>

[Introduction](#introduction) • [Chapter status](#chapter-status-kernel-v720) • [Requirements](#requirements) • [Translations](#translations) • [Contributing](#contribution) • [Author](#author)

[![Read online](https://img.shields.io/badge/read-online-2ea44f?style=flat-square)](https://0xax.dev/books/linux-inside/)
![Linux kernel](https://img.shields.io/badge/Linux-kernel-FCC624?style=flat-square&logo=linux&logoColor=black)
![x86_64](https://img.shields.io/badge/arch-x86__64-0071C5?style=flat-square&logo=intel&logoColor=white)
[![Sponsors](https://img.shields.io/badge/sponsors-ff69b4?style=flat-square&logo=githubsponsors&logoColor=white)](#sponsors)
![License](https://img.shields.io/badge/license-CC%20BY--NC--SA%204.0-lightgrey?style=flat-square)
<br/>
[![Patreon](https://img.shields.io/badge/Patreon-f96854?style=flat-square&logo=patreon&logoColor=white)](https://www.patreon.com/0xAX)
[![Buy Me a Coffee](https://img.shields.io/badge/Buy%20Me%20a%20Coffee-FFDD00?style=flat-square&logo=buymeacoffee&logoColor=black)](https://www.buymeacoffee.com/0xAX)

<img src="Assets/banner.svg" alt="Linux insides — a book-in-progress about the Linux kernel and its insides" width="900">
</div>

# 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](https://github.com/0xAX/linux-insides/blob/master/SUMMARY.md).

## 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.

- [x] 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

- Prior knowledge about the [Assembly language](https://en.wikipedia.org/wiki/Assembly_language)
- Proficiency with the [C programming language](https://en.wikipedia.org/wiki/C_(programming_language))
- Additionally, you can find lots of useful information about x86_64 processors in [Intel Software Developer Manuals](https://www.intel.com/content/www/us/en/developer/articles/technical/intel-sdm.html)

> [!TIP]
> You can get started with Assembler with my other series of posts about the [Assembly programming](https://github.com/0xAX/asm).

## Translations

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

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

  * [Brazilian Portuguese](https://github.com/mauri870/linux-insides)
  * [Chinese](https://github.com/hust-open-atom-club/linux-insides-zh)
  * [Japanese](https://github.com/tkmru/linux-insides-ja)
  * [Korean](https://github.com/junsooo/linux-insides-ko)
  * [Russian](https://github.com/proninyaroslav/linux-insides-ru)
  * [Spanish](https://github.com/leolas95/linux-insides)
  * [Turkish](https://github.com/ayyucedemirbas/linux-insides_Turkish)

## Contribution

Read the [Contribution guide](./CONTRIBUTING.md) to learn how to contribute to the project. When contributing, make sure to follow the [Code of Conduct](./CODE_OF_CONDUCT.md).

If you have any questions or suggestions, feel free to ping me at Twitter [@0xAX](https://twitter.com/0xAX), add an [issue](https://github.com/0xAX/linux-insides/issues/new), or drop me an [email](mailto:anotherworldofworld@gmail.com).

## 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](https://groups.google.com/forum/#!forum/kernelhacking) and click **Apply to join group**. You will be approved automatically.

## Sponsors

Thanks to the people supporting this project on [Patreon](https://www.patreon.com/0xAX):

- [Paulo Oliveira](https://www.patreon.com/profile/creators?u=225844623)
- [KD](https://www.patreon.com/profile/creators?u=8478384)

## License

This project is licensed under the [BY-NC-SA Creative Commons](http://creativecommons.org/licenses/by-nc-sa/4.0/).

## Author

The technical content is written by [@0xAX](https://x.com/0xAX).

Additional big thanks to [@klaudiagrz](https://github.com/klaudiagrz) for text improvements.