https://github.com/0xax/linux-insides
A book-in-progress about the Linux kernel and its insides.
https://github.com/0xax/linux-insides
linux linux-insides linux-kernel
Last synced: 5 months ago
JSON representation
A book-in-progress about the Linux kernel and its insides.
- Host: GitHub
- URL: https://github.com/0xax/linux-insides
- Owner: 0xAX
- License: other
- Created: 2015-01-03T18:44:57.000Z (about 11 years ago)
- Default Branch: master
- Last Pushed: 2025-09-04T18:02:22.000Z (5 months ago)
- Last Synced: 2025-09-04T20:13:06.625Z (5 months ago)
- Topics: linux, linux-insides, linux-kernel
- Language: Python
- Homepage: http://0xax.gitbooks.io/linux-insides/content/index.html
- Size: 20.3 MB
- Stars: 31,187
- Watchers: 1,336
- Forks: 3,433
- Open Issues: 39
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Codeowners: CODEOWNERS
Awesome Lists containing this project
README
# Linux insides
This repository contains 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).
> [!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.16+). I’ll continue revising the posts as the kernel evolves.
## 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/MintCN/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.
## 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.