An open API service indexing awesome lists of open source software.

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.

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.