views:

170

answers:

3

To aid with poking around + running the linux kernel under qemu / UML; what are good books that describe how the linux kernel work?

+3  A: 

Kernel is a moving target. Every book published at least a year ago will be already out of sync with the actual source code. However there are two books i personally find most helpful:

Understanding the Linux Kernel, Third Edition

Essential Linux Device Drivers

And there is also this thing called Linux Cross Reference that helps in tracking kernel sources across versions.

Inso Reiges
I didn't read the first book, but have complains about the second - bad structure, buggy code, wrong programming examples. I remember a driver function with 2K buffer allocated on the stack. You just don't do this sort of stuff in the kernel.
Nikolai N Fetissov
Nikolai,In the context of giving a basic examples of the general kernel control paths from the entry point of the device driver i found the ELDD approach of presenting the general kernel facilities overview (memory, device model, etc.) in the first 4 chapters to be more helpful then the ad-hoc style of the otherwise venerable LDD book. On the subject of teaching actual driver programming your comments are true, except that ELDD gives more coverage of the different types of drivers.
Inso Reiges
+3  A: 

When I wanted to learn more about the inner workings of the Linux Kernel, I picked up a copy of Robert Love's Linux Kernel Development (2nd Edition). This was a few years ago now so some areas may be slightly out of date, but a 3rd Edition is on the way.

jschmier
A: 

Another book that you might find useful is Linux Kernel in a Nutshell, which is available online.

Joe Internet