# linux-insides: one chapter updated for kernel 7.2.0 and fourteen pending review

> linux-insides is a free book-in-progress on the Linux kernel by a single author, rendered with GitBook from a container that serves on port 4000. Its own status table is the most useful thing in the repository: of fifteen chapters, one, Booting, is marked updated for v7.2.0, and the other fourteen are all marked pending a v6.18.0 review, on a series that was started when the newest kernel was 3.18.

**0xAX/linux-insides** — GitHub describes it as A book-in-progress about the Linux kernel and its insides.. The repository metadata lists Python as its primary language. The metadata lists the NOASSERTION license. This article stays within the project description and details documented in the GitHub repository README.

- Repository: https://github.com/0xAX/linux-insides
- Website: https://0xax.dev/books/linux-inside/
- Stars: 33,610 · Forks: 3,567
- Language: Python
- License: NOASSERTION
- Published: 2026-08-13 · Updated: 2026-08-18 · Language: en
- Canonical page: https://hysenlabs.com/projects/0xax-linux-insides

## One chapter of fifteen is marked updated, against a v7.2.0 header

The chapter status section is the most honest page in the repository and it is worth reading before the table of contents. There are fifteen chapters and one of them is ticked. Booting is marked as updated for v7.2.0.

The other fourteen all carry the same parenthetical, pending v6.18.0 review. That covers Initialization, Interrupts, System calls, Timers and time management, Synchronization primitives, Memory management, Cgroups, SMP, Kernel mechanisms, Data Structures in the Linux Kernel, x86 fundamentals, Toolchain and binaries, Initial ram disk, and Contributing to the Linux kernel.

So there are two version numbers in one file, and they disagree with each other. The section is headed with v7.2.0, the one finished chapter is aligned to it, and the fourteen unfinished ones are queued for v6.18.0. That tells you the author's current target is still 6.18 and the boot chapter has got further.

For a reader the practical instruction is simple. Treat the ticked chapter as current, treat the rest as written against a kernel from the 3.x era, and check a fact from an unchecked chapter against the source before you rely on it.

## The series started when the newest kernel was 3.18

Above the status list there is a note that explains the whole shape of the project. The author started writing the series when the latest version of the kernel was 3.18. A lot has changed since then, and he is in progress of updating the content to reflect modern kernels, with the target given as v6.18 and above, and he will continue revising the posts as the kernel evolves.

Two things follow from that sentence. First, the project is not a finished book with an errata list; it is a set of essays at different ages, and the age is uneven in a way only the status table reveals. Second, the revision target is 6.18, which is behind the 7.2.0 in the section heading, so even a chapter that gets its review will be aligned to a kernel older than the one the project nominally describes.

That is not a criticism so much as a reading instruction. This is a book written by one person about a kernel that moves faster than a person can rewrite fifteen chapters of it, and the honest response to that is the checklist the author publishes. Readers who know that will use it well: read it for the explanation of how a subsystem fits together, then read the current source for what it does today.

## The prerequisites are assembly, C, and a processor manual

The requirements section is three items and none of them is optional in spirit. Prior knowledge of assembly language. Proficiency with C. And, for the chapters that deal with the hardware, the Intel Software Developer Manuals, which are named as the place to find a lot of useful information about x86_64 processors.

That third item is the one that tells you what kind of book this is. A reader is expected to consult the vendor's own documentation alongside the text, which is a different relationship from a tutorial that explains everything it assumes. For the x86 fundamentals and boot chapters, the manual is not background reading, it is the other half of the material.

There is also a pointer for anyone who is not ready yet, to the author's separate series of posts about assembly programming. That is an unusually honest admission in a prerequisites list: the first thing to do if you cannot follow the text is go and learn the language it is written in first.

## The book renders from a GitBook 3.2.3 image and serves on port 4000

The build is a container, and it is a very small one. The Dockerfile is a handful of lines: it starts from a GitBook image at version 3.2.3, copies the whole repository into the serving directory, exposes port 4000, and its command runs the GitBook server. Two further lines are present but commented out, examples of generating a PDF and an EPUB from the same image.

So the toolchain is pinned to a specific old version of GitBook, and the commented examples suggest the author has produced at least those two formats at some point. The rest of the toolchain is a Makefile with a container lifecycle: a target that stops any existing container and starts a detached one publishing port 4000, targets to start, remove, dump the logs of, and open an interactive shell inside the running container, and a build target that uses the squash option where it is available and silently retries without it when that fails.

That fallback is worth noticing. The build target first attempts a squashed image with its error output discarded, and only if that fails does it run again without squashing. It is a small piece of pragmatism that keeps the build working across Docker versions, and it tells you the build is expected to run on whatever the contributor happens to have installed.

## The e-book export turns every SVG figure into a 150 dpi PNG

Generating the offline editions is a separate target, and it runs inside the already started container rather than building a new one. What it does is find every SVG file in the tree, skip anything under the GitHub directory or the generated book output directory, and convert each one to a PNG with Inkscape, using the export area page option and an export resolution of 150 dots per inch.

The reason for the conversion is visible in the exclusion list. Keeping figures as vector images is what you want in a browser-rendered book, and it is what breaks or bloats in an e-book format, so the export path rasterises them instead. The 150 dpi figure is a print-oriented resolution, and the page-area export crops to the page rather than the drawing canvas.

For anyone reproducing the book locally, the practical note is that the export depends on Inkscape being present in the image, and that the loop is written to handle file names with spaces by reading them null-delimited. The book and the code directory are one repository, which is why the whole thing is copied into the image in a single instruction.

## Seven translations, and a warning that they drift

The book has been translated by volunteers into seven languages: Brazilian Portuguese, Chinese, Japanese, Korean, Russian, Spanish and Turkish, each in its own repository maintained by someone other than the author.

The README attaches one sentence to that list, and it is the important part: the translations may diverge from the original content.

Given the first section of this article, that warning is doing more work than it looks. A translation of a chapter that has been updated for a modern kernel and a translation of the same chapter from several years ago are different documents that share a title. Anyone choosing a translation for readability rather than for content should check which kernel version the translated chapter covers, and anyone who can read English and needs accuracy should use the original.

The project's own reading is that the translations are a convenience, and the divergence note is there to stop them being treated as authoritative.

## CC BY-NC-SA, and a community that runs on a mailing list

The licence is Creative Commons Attribution-NonCommercial-ShareAlike. For a book that is free to read online, that is a normal choice, with one consequence worth stating: the non-commercial term means you cannot sell it, bundle it into paid material, or use it in a commercial course without a separate permission from the author.

The project is run by one person, who writes the technical content, with credit given to another contributor for text improvements. Questions go to a social media account, an issue tracker or an email address, and contributions go through a contribution guide and a code of conduct, with a CODEOWNERS file in the repository.

There is also a community resource that predates the book and is worth knowing about: a Google group for learning the kernel source code. Joining it is done either by sending a subscription request to a subscribe address, replying to the confirmation email that arrives, or, if you have a Google account, by opening the group archive page and applying to join, which is approved automatically. For a book whose chapters are pending review, a mailing list where people discuss the source is arguably the more current of the two.

## Conclusion

Use linux-insides if you already read C and assembly and you want a guided tour of one subsystem at a time, with the caveat that you are reading a 3.18-era text unless the chapter says otherwise. Do not use it as a current reference: the author states the series began when the latest kernel was 3.18, fourteen of fifteen chapters are pending a v6.18.0 review, and the table header says v7.2.0. Before you start: read the chapter status list first and treat anything unchecked as dated, check the kernel source version a given chapter was written against before you copy a detail from it into production code, and note that the licence is CC BY-NC-SA 4.0, so you cannot republish it or use it in paid material without a separate permission.

## FAQ

### What is linux-insides and what does it cover?

It is a book-in-progress about the Linux kernel and its internals, written to share knowledge about kernel internals and related low-level topics. Its chapters cover booting, initialization, interrupts, system calls, timers and time management, synchronization primitives, memory management, cgroups, symmetric multiprocessing, kernel mechanisms, data structures, x86 fundamentals, the toolchain and binaries, the initial ram disk, and contributing to the kernel itself.

### Which linux-insides chapters are up to date?

One of fifteen. Booting is marked as updated for v7.2.0, and the other fourteen, from Initialization through Contributing to the Linux kernel, are all marked as pending a v6.18.0 review. The README also states that the series was started when the latest kernel was 3.18 and that the content is being updated to reflect modern kernels.

### What do I need to know before reading linux-insides?

The stated requirements are prior knowledge of assembly language and proficiency with C, plus the Intel Software Developer Manuals for information about x86_64 processors. The README also points readers who are not ready to a separate series of posts about assembly programming as a starting point.

### Can I use linux-insides material commercially or in a paid course?

The project is licensed under Creative Commons Attribution-NonCommercial-ShareAlike, so the non-commercial term applies and the share-alike term propagates to adaptations. Using the material in paid material or a commercial course needs a separate permission from the author rather than the licence alone.

### How do I read or build linux-insides locally?

The book is rendered with GitBook from a container image that serves on port 4000, driven by Makefile targets that build the image, run it detached, open a shell inside it and dump its logs. A separate target generates e-book output inside the running container by converting each SVG figure to a 150 dpi PNG with Inkscape.

## Sources

- [Official documentation](https://0xax.dev/books/linux-inside/)
- [Official README](https://github.com/0xAX/linux-insides#readme)
- [Project repository](https://github.com/0xAX/linux-insides)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/0xax-linux-insides
