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
2010-03-01 03:39:07
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
2010-03-01 04:02:08
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
2010-03-01 05:12:51
+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
2010-03-01 05:22:06
A:
Another book that you might find useful is Linux Kernel in a Nutshell, which is available online.
Joe Internet
2010-03-01 05:28:54