Ask HN: Linux kernel internals and development book?

20 points by badrabbit 16 days ago


Many years ago, I used "Linux Device Drivers, 3rd edition" to learn about the Linux kernel. However, it seems they haven't published newer versions since then (centered around 2.4 kernel). It was the most "authoritative" book I could find at the time.

Is there a similar book or resource that contains updates information about 5.x or even 6.x kernels? Quite a lot has changed in the past decade or so! I know there are random books, I just can't figure out the most comprehensive and authoritative book. I would prefer content more focused on describing types and systems than strictly focusing on how to write C code.

suprjami 16 days ago

No. afaik all the main books you see recommended are between 2.6.0 and 2.6.20.

Pick a subsystem you're interested in and start reading the code. Learn introspection tools like SystemTap, perf, bpftrace, etc. Lurk the relevant mailing lists. If you see people doing something you're interested in, learn from them and watch what they're doing, offer to help if you see ongoing work. Keep in mind most of these people are being paid to do this, it's their job.

I've heard the staging tree is extremely friendly to newcomers submitting patches. If you can't find any work to do, have a look there.

  • badrabbit 16 days ago

    Thanks, those are all good suggestions. I think best I can do is research the best/updated content on all the important subsystems and read those. Reading/writing code takes a lot more time than reading someome else describe how the systems work.