Beware, however, that any book is going to be fairly out of date in a number
of areas. Be prepared to refer to the source at frequent intervals.
I usually tell people that their first port of call should be the source code,
then myself, then this list.
The books can be very useful if you are new to the style and layout of the
Linux kernel, or of such low level code in general, but remember to take the
precise definitions of structures etc. with a pinch of salt.
As an aside, I tend to find that I learn virtually nothing from sitting down
and reading source code. I do, however, learn a great deal by tracing source
code in an attempt to examine a particular execution path in detail.
I would recommend a newcomer to the scene to start, as you would with a new
programming language, with a "hello world" program (or module, in this case),
and work your way up. Think of something trivial which you want to change or
implement, and you'll be amazed at how much you learn about the kernel
structure when looking for particular pieces of code in it.
Also, don't be afraid to ask for help - people on this list are almost always
prepared to answer questions if you seem to have made a genuine attempt to
find the answer. It's often quicker to get a response back from the list than
it is to answer your own question.
Happy Hacking.
-- ---- ---- ---- David Woodhouse, Robinson College, CB3 9AN, England. (+44) 0976 658355 Dave@imladris.demon.co.uk http://dwmw2.robinson.cam.ac.uk finger pgp@dwmw2.robinson.cam.ac.uk for PGP key.