Linux Device Drivers, Third Edition

download, share free O'reilly Linux ebooks, e-books

Linux Device Drivers, Third Edition

Postby chipsmore on Thu Feb 21, 2008 4:17 am

Linux Device Drivers, Third Edition
Image
By Jonathan Corbet, Alessandro Rubini, Greg Kroah-Hartman
Third Edition February 2005
Pages: 636
ISBN 10: 0-596-00590-3 | ISBN 13:9780596005900

Free Download
Language: English
FileType: CHM
File size: 1334 KB
Download address 1
Download address 2
Download address 3

Book description
Over the years, this bestselling guide has helped countless programmers learn how to support computer peripherals under the Linux operating system, and how to develop new hardware under Linux. Now, with this third edition, it's even more helpful, covering all the significant changes to Version 2.6 of the Linux kernel. Includes full-featured examples that programmers can compile and run without special hardware.

Full Description
Device drivers literally drive everything you're interested in--disks, monitors, keyboards, modems--everything outside the computer chip and memory. And writing device drivers is one of the few areas of programming for the Linux operating system that calls for unique, Linux-specific knowledge. For years now, programmers have relied on the classic Linux Device Drivers from O'Reilly to master this critical subject. Now in its third edition, this bestselling guide provides all the information you'll need to write drivers for a wide range of devices. Over the years the book has helped countless programmers learn:
how to support computer peripherals under the Linux operating system
how to develop and write software for new hardware under Linux
the basics of Linux operation even if they are not expecting to write a driver
The new edition of Linux Device Drivers is better than ever. The book covers all the significant changes to Version 2.6 of the Linux kernel, which simplifies many activities, and contains subtle new features that can make a driver both more efficient and more flexible. Readers will find new chapters on important types of drivers not covered previously, such as consoles, USB drivers, and more. Best of all, you don't have to be a kernel hacker to understand and enjoy this book. All you need is an understanding of the C programming language and some background in Unix system calls. And for maximum ease-of-use, the book uses full-featured examples that you can compile and run without special hardware. Today Linux holds fast as the most rapidly growing segment of the computer market and continues to win over enthusiastic adherents in many application areas. With this increasing support, Linux is now absolutely mainstream, and viewed as a solid platform for embedded systems. If you're writing device drivers, you'll want this book. In fact, you'll wonder how drivers are ever written without it.
chipsmore
 
Posts: 18
Joined: Thu Feb 21, 2008 2:52 am

Additional Information

Postby chipsmore on Thu Feb 21, 2008 4:19 am

Media reviews
"For anyone interested in writing device drivers for Linux the definitive text is O'Reilly's Linux Device Drivers, now in its third edition...A tour de force, this is a comprehensive, detailed, and clearly expressed text. The the authors and publisher manage to keep this title up to date is a feat in itself."
-- Major Keary, Book News

"Jonathan Corbet, Alessandro Rubini and Greg Kroah-Hartman's Linux Device Drivers appears in its third updated edition to provide the latest update for any who wish to run new hardware under Linux. Linux kernal programming is at the heart of a title which reveals the basics of Unix system calls and C--but users needn't be hardcore programmers to find useful topics such as driver debugging, memory management, and driver models."
--Diane Donovan, Donovan's Bookshelf, MBR Bookwatch, May 2005
chipsmore
 
Posts: 18
Joined: Thu Feb 21, 2008 2:52 am

Review - Linux Device Drivers, Third Edition reviewed by Carl J. Nobile of Ubuntu New York LoCo Team

Postby chipsmore on Thu Feb 21, 2008 4:19 am

My original intent was to write a chapter by chapter review of this book however, I ran into some major obstacles in doing so. As with most books code examples this book requires that you at least understand the code in order to understand the presented material. It is always best to actually see the code run.

When I first started reading this book I set up a Ubuntu Feisty 7.04 system using kernel 2.6.20 to compile and run the code presented in this book. Right off nothing compiled, so after some time searching the net I found at a Florida State University site some partially fixed and compilable code. The two professors that fixed this code are Ted Baker and Andy Wang. Their URL is: http://www.cs.fsu.edu/~baker/devices/. In an email correspondence Ted Baker told me he only did the minimal work to the code just enough to get it to compile meaning some drivers still did not work.

After finding this updated code I thought I had the tools I needed to get to work on understand the book and writing the original version of this review. During this process I installed a Ubuntu Gutsy 7.10 system using kernel 2.6.22 on a different and faster machine. Well to make a long story short the code I got from the nice professors at Florida State University ceased to compile on this kernel.

I suppose the moral of this story is that kernel code is in constant flux which I guess I had already known, but did not know to what extent it is in flux. This is after all the nature of software as my15 years as a developer has taught me. It would be nice however, if the authors of this book could keep their own code up to date. I am guessing here but between kernel 2.6.10, the version used by the authors, to the version I mentioned above I doubt that the driver architecture in the kernel has changed all that much. Most of the issues with compilation I tracked down myself have been constants and structures being moved between headers. As the authors are the most familiar with the code it is only logical that they keep this code in a compiled state.

In summery I would venture to say that a large percentage of the information in this book is still valid to the current kernels, but the newbie to driver and kernel development will not be able to fix this code easily. So my recommendation is that if you are already familiar with driver development and need a good reference book this is the book for you. If on-the-other-hand you are, like me, new to driver development and have some cycles to burn you might, in the mean time, want to pick up a language like Python or Ruby while waiting for the example code to get updated.
chipsmore
 
Posts: 18
Joined: Thu Feb 21, 2008 2:52 am


Return to O'reilly Linux

Who is online

Users browsing this forum: No registered users and 0 guests

cron