Linux Device Drivers, 2nd EditionBy Alessandro Rubini & Jonathan Corbet
2nd Edition June 2001
0-59600-008-1, Order Number: 0081
586 pages, $39.95
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
Linux InternalsMoshe Bar
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 KernelDaniel 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 CommentaryScott Maxwell
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 LinuxGary 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 SystemMaurice Bach
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 EnvironmentRichard Stevens
Every detail of Unix system calls is described herein, which is a good companion when implementing advanced features in the device methods.
Unix Network ProgrammingRichard Stevens
P T R Prentice-Hall
Perhaps the definitive book on the Unix network programming API.
Back to: Table of Contents
Back to: Linux Device Drivers, 2nd Edition
© 2001, O'Reilly & Associates, Inc.