This book is for anyone who wants to support computer peripherals under the Linux operating system or who wants to develop new hardware and run it under Linux. Linux is the fastest-growing segment of the UNIX market and is winning over enthusiastic adherents in many application areas. This book reveals information that heretofore has been passed by word-of-mouth or in cryptic source code comments, showing how to write a driver for a wide range of devices.
You don't have to be a kernel hacker to understand and enjoy this book; all you need is an understanding of C and some background in UNIX system calls. Drivers for character devices, block devices, and network interfaces are all described in step-by-step form and are illustrated with full-featured examples that show driver design issues, which can be executed without special hardware.
For those who are curious about how an operating system does its job, this book provides insights into address spaces, asynchronous events, and I/O.
Portability is a major concern in the text. The book is centered on version 2.0, but also covers 1.2.13 and experimental versions up to 2.1.43. You are also told how to maximize portability among hardware platforms.
Our look is the result of reader comments, our own experimentation, and feedback from distribution channels. Distinctive covers complement our distinctive approach to technical topics, breathing personality and life into potentially dry subjects. The image on the cover of Linux Device Drivers is of a bucking horse. A vivid description of this phenomenon is given in Marvels of the New West: A Vivid Portrayal of the Stupendous Marvels in the Vast Wonderland West of the Missouri River, by William Thayer (The Henry Bill Publishing Co., Norwich, CT, 1888). Thayer quotes a stockman who gives this description of a bucking horse: When a horse bucks he puts his head down between his legs, arches his back like an angry cat, and springs into the air with all his legs at once, coming down again with a frightful jar, and he sometimes keeps on repeating the performance until he is completely worn out with the excursion. The rider is apt to feel rather worn out too by that time, if he has kept his seat, which is not a very easy matter, especially if the horse is a real scientific bucker, and puts a kind of side action into every jump. The double girth commonly attached to these Mexican saddles is useful for keeping the saddle in its place during one of those bouts, but there is no doubt that they frequently make a horse buck who would not do so with a single girth. With some animals you can never draw up the flank girth without setting them bucking. The cover layout was produced with Quark XPress 3.3 and Adobe Photoshop 2.5 software, using the ITC Garamond Condensed font.
The interior layouts were designed by Edie Freedman and Jennifer Niederst, with modifications by Nancy Priest and Mary Jane Walsh. Chapter opening graphics are from the Dover Pictorial Archive and Marvels of the New West. Interior fonts are Adobe ITC Garamond and Adobe Courier. Text was prepared in SGML using the DocBook 2.1 DTD. The print version of this book was created by translating the SGML source into a set of gtroff macros using a filter developed at ORA by Norman Walsh. Steve Talbott designed and wrote the underlying macro set on the basis of the GNU gtroff -gs macros; Lenny Muellner adapted them to SGML and implemented the book design. The GNU groff text formatter version 1.09 was used to generate PostScript output. The illustrations that appear in the book were created in Macromedia Freehand 5.0 by Chris Reilley.
I liked the book and it presented a useful model of the Linux Kernel
well.
As many others have pointed out, there have been many changes to the
Kernel versions after 2.1 and the book's source code examples are
mostly for version 2.0.
If you are using this book with a 2.2 or later kernel (Redhat's
version 7 binary is version 2.2 and the source is 2.4), be sure to
read "Chapter 17 Recent Development's" BEFORE you try the code
examples in Chapter 2. It will save you alot of time trying to
find the 2.0 kernel features such as the symtab_begin.h and symtab_end.h
header files.
5/22/2001
(1 of 3 customers found this review helpful)
4.0
Linux Device Drivers Review
By ashutosh trivedi
from Undisclosed
Comments about oreilly Linux Device Drivers:
The book is really a piece of great work by a great mind.It takes u off from ground level and after reading the whole book u feel like a real life kernel hacker.Hats off to the author.........
Really a brilliant work..........
5/3/2001
(1 of 2 customers found this review helpful)
1.0
Linux Device Drivers Review
By Stephen Forster
from Undisclosed
Comments about oreilly Linux Device Drivers:
When I complained that the content was outdated several months ago, I was informed that the 2nd edition was due out this month (May 2001). When it is available, I will probably buy it.
Whatever you do, don't buy this one.
2/19/2001
(2 of 3 customers found this review helpful)
1.0
Linux Device Drivers Review
By mike b
from Undisclosed
Comments about oreilly Linux Device Drivers:
Shame on you for selling such an outdated book!
Being new to Linux kernel programming, I didn't realize how useless it really was until I got it home. Also, the continuity between the examples and the text are not up to the typical O'Reilly standards. May have been a good book a long time ago.
2/4/2001
(0 of 1 customers found this review helpful)
3.0
Linux Device Drivers Review
By Phil
from Undisclosed
Comments about oreilly Linux Device Drivers:
Nice book, very usefull for a lot of info but I still miss info on usefull toolkits like Jungo's WinDriver.(jungo.com)
1/7/2001
(0 of 1 customers found this review helpful)
2.0
Linux Device Drivers Review
By stephen forster
from Undisclosed
Comments about oreilly Linux Device Drivers:
A superb book back in 1998 and worthy of a 'Definitive' back then, though two kernel versions later, it really does need replacing. Now that the 2.4 kernel has arrived, I would wait for the second edition to come out before parting with my money.
It isn't fair on the customer selling this book ( however good it was in its day ) when the second edition is about to make its debut. That's why I can only give this book an average rating.
11/28/2000
(0 of 1 customers found this review helpful)
5.0
Linux Device Drivers Review
By Matt Benjamin
from Undisclosed
Comments about oreilly Linux Device Drivers:
I just finished my second, more careful reading of Linux Device Drivers. (I read it originally in 1998, shortly after it appeared.)
I found the book even more rewarding the second time through, and although I think it is time for an updated edition covering 2.2 and 2.4 kernels,I thoroughly recommend it to anyone interested in kernel development, not merely in hardware device drivers.
Again, I'd like to see a 2nd edition. Thanks, in this regard, for publishing examples updated for Linux 2.4.
7/11/2000
(1 of 1 customers found this review helpful)
4.0
Linux Device Drivers Review
By Mikkel Holm Olsen
from Undisclosed
Comments about oreilly Linux Device Drivers:
An excellent book on the internals of the Linux kernel, and very nice for looking up stuff while writing a driver.
Unfortunantly the coverage of 2.2 kernels only scratches the surface (first edition only covers up to 2.1.43).
But grepping the kernel sources provide a lot of nice
6/27/2000
(1 of 1 customers found this review helpful)
5.0
Linux Device Drivers Review
By Franz Korntner
from Undisclosed
Comments about oreilly Linux Device Drivers:
Personally, one of the problems with Linux is the absence of proper documentation. I guess that this is partly caused by the fact that developers consider the source to be the ultimate documentation. Although there is nothing wrong with that point of view, it does complicate the learning curve and development time.
As the Linux kernel source is huge, writing modules and drivers is a long and tedious job, especially if it is your first. Eventually you will pull the old 'copy-modify-and-paste