Most of the information in this book has been extracted from the kernel sources, which are the best documentation about the Linux kernel.
Kernel sources can be retrieved from hundreds of FTP sites around the world, so we won't list them here.
Version dependencies are best checked by looking at the patches, which are available from the same places where you get the whole source. The program called repatch might help you in checking how a single file has been modified throughout the different kernel patches; it is available in the source files provided on the O'Reilly FTP site.
On sunsite.unc.edu and all its mirrors you can also find several device drivers, which can surely help in writing your own.
Linux Kernel Books
This terse book by Byte columnist Moshe Bar covers much of how the Linux kernel works, and includes a number of 2.4 features.
Understanding the Linux Kernel
Daniel P. Bovet
O'Reilly & Associates
This book covers the design and implementation of the Linux kernel in great detail. It is more oriented toward providing an understanding of the algorithms used than documenting the kernel API.
Linux Core Kernel Commentary
The Linux Core Kernel Commentary is mostly a large listing of the core kernel code, with 150 pages of commentary at the end. It can be useful for trying to figure out what is happening in a particular part of the kernel.
Kernel Projects for Linux
Gary J. Nutt
Kernel Projects for Linux was written to be used in college-level classrooms; as such, it is not a full introduction to the Linux kernel in its own right. For those looking to play with the kernel, though, this book can be a good aid.
Unix Design and Internals
The Design of the Unix Operating System
This book, though quite old, covers all the issues related to Unix implementations. It was the main source of inspiration for Linus in the first Linux versions.
Advanced Programming in the UNIX Environment
Every detail of Unix system calls is described herein, which is a good companion when implementing advanced features in the device methods.
Unix Network Programming
P T R Prentice-Hall
Perhaps the definitive book on the Unix network programming API.