Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

What good books are there out there for Linux kernel driver development? Preferably targeting a rather new kernel release.

Which one is best in you opinion?


migration rejected from stackoverflow.com May 14 '14 at 5:03

This question came from our site for professional and enthusiast programmers. Votes, comments, and answers are locked due to the question being closed here, but it may be eligible for editing and reopening on the site where it originated.

closed as primarily opinion-based by Ramesh, jasonwryan, devnull, Patrick, Thomas Nyman May 14 '14 at 5:03

Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise.If this question can be reworded to fit the rules in the help center, please edit the question.

The title says "kernel driver development", the question "kernel development". What are you exactly looking for? – chris Feb 16 '11 at 14:40
@chris: Added clarification, I am looking for kernel driver development. – Bjarke Freund-Hansen Feb 16 '11 at 14:59

Linux Kernel Development by Robert Love covers linux-2.6.34


You should opt for LDDv3, as it is one of the fundamental books on the same topic. After you grab this book, go and look for Understanding the Linux Kernel.

These two book suffice to fulfill your thirst for kernel (driver) development.


The books cited give you a good idea of how it all fits together, then you should look at kernelnewbies for more up-to-date advice, and LWN's Kernel page will alert you to last-minute changes (it also contains in-depth articles on broad areas). A good operating systems text (like Stallings) is handy (But don't believe a word of what it says, textbooks tend to concentrate on the pieces that can be described simply or with a decent theory; real programs tend to be much messier than the simplistic techiques described in the typical undergraduate textbook. The majority of the Linux kernel source code is device drivers, which at most are mentioned in passing in said textbooks.).

The kernel is huge (some 14 million lines of code and counting) and complex. Be advised that the core kernel hackers are absolute fanatics of efficiency (where it matters), so some of the code is truly bizarre, and it also contains sterling textbook examples of C preprocessor abuse.


Not the answer you're looking for? Browse other questions tagged or ask your own question.