Writing Linux Device Drivers: a guide with exercises
R**I
Very fun book by a good author!
I liked this book a lot. It seems that it could just as easily be a (somewhat informal) textbook in a classroom setting or a desk-side companion for a kernel driver hacker. The exercises are very much a part of what makes this book so fun. The writing style and content are a welcomed departure from the standard into-tech-slopping or disjointed glitzy spin noise associated with so many other books these days.The content is very logically presented. It is straight-forward and solid. Every book has issues, but this one shines head and shoulders above the rest, IMO. While it naturally tends toward front-to-rear reading, it doesn't require it the way so many other books do. You can actually jump around rather free-spirited without the essential pre-reading dictated by those books that tell you in chapter one that what they just mentioned will be discussed later in chapter 8, but that [insert next 19 topics] won't be discussed until [add forward reference] because *then* something presented will start to make sense. What the heck?!Seriously, this book is a great book for someone who knows C programming and isn't still looking for the 'any' key on the keyboard. It is very focused on the core information and details of writing Linux drivers as kernel drivers and loadable modules. The examples and the exercises are worth the price of admission, but you get a "right-length" engaging conversational road-trip with the author for free.The cover art should tell you that this book is more about content and less about fluff, which is true. It is a pleasure to be able to recommend a book as fun to read as this one.
S**H
Outstanding Reference!
Dr. Cooperstein,I just wanted to thank you for your excellent book (and lab solutions manual/code) "Writing Linux Device Drivers." I'm in the process of writing multiple kernel modules as part of my thesis, and I've been having a pretty rough time trying to use existing examples or other research given the significant changes in kernel code. Most of the other books I've found either skirt around the issues that seem clearly presented in your book...or they explain them only as clearly as the source code itself.Other books that do explain things well often present code that will not work with current linux kernels, and it is very tough for someone trying to learn the concepts to adapt obsolete source code...if I knew how to update the code, I wouldn't need to book in the first place. I think I can say this confidently, as I own just about every book about the linux kernel or linux kernel drivers from O'Reilly, Wrox, Novell, Prentice Hall, Addison Wesley, Osborne, and probably a couple I can't think of right now.Your book is not only well written (and timely for me), but both its content and sample code are directly usable in current linux kernels. I greatly appreciate the simple fact that all the driver code compiles cleanly; that is truly a unique feature at this time...and one that means a lot to someone trying to figure it out. If the online source code continues to be kept to-date with current kernels, your books will be an enduring asset!Thank you for publishing your books.
A**R
Reads like a course overview
This book reads like a course outline used to teach a course. There are 35 chapters, most about 5 - 10 pages each. It begins by discussing driver issues, and devotes one long chapter (18 pages!) to character drivers. Then the book launches into virtually every kernel programming issue such as interrupts, timers, scheduling, ioctls, etc. Yes, these are useful topics for a device driver developer, but I have already seen most of these topics. The author seems to completely lose sight of the goal of this book: Writing Linux Device Drivers. Finally, in Chapter 24 the author gets back to device drivers and does provide 4 chapters on Network Drivers, and one on USB drivers. Block drivers aren't discussed until the very last chapter (9 pages including exercises).This book can be useful as an outline, a guide to direct your online research (read, Google). But I very much doubt that anyone could write a meaningful device driver using just this book. If you have access to this book, use it as a study guide. But I wouldn't recommend buying it.
S**Y
good
good , faster ship , It's been a week since I got this product and this thing is super awesome.None. As much as I want to think of something bad to say, there's simply nothing negative about this.
R**K
Awesome Book
If you want to quickly learn the basics of building LDD, then go for it. It has everything that you need, nothing that you want.I bought this book after reading through "Essential Linux Device Drivers" by Sreekrishnan Venkateswaran that has so much info but not structured or explained well and had me lost and confused about the basics.
M**R
Really what I was looking for
Just a few words. This book is great... it combines theory and practice. At the end of each chapter, there are exercises and labs to practice what has been explained. The solutions to the labs can be downloaded from the author's website... and they are even updated for new kernels!
V**S
Very good
It focuses on what is most important, giving a good theoretical basis for those learning how write Linux device drivers.It is clear and easy to understand, really great!
A**N
Many topics but few details. Almost repeats another book.
It's a pity i have bought this book. It almost duplicates "Linux Device Drivers, Third Edition" book, which you can get for free from it's author's site. It proposes itself to mirror 2.6.31 kernel changes, but it is not so. Some topics a covered very bad. Read Linux Device Drivers first, and then look at this book - may be you'll find 1 or 2 usefull chapters here. 23$ stupidly lost.I've also came across "Essential Linux Device Drivers" by Sreekrishnan Venkateswaran which I can recomend.
B**D
Buy something else
I've had this for a couple of years. It has a lot of reference information but shows how a knowledgeable person is often not the best to write a book. I'm about to throw it away but decided first to write this review. I might be able to re-sell it on Amazon, but that would be a disservice to the buyer. Buy one of the older books instead (e.g. Corbet et al., also available on Amazon). Even if the information there is dated, you'll learn more.
E**N
A gem for programmers new to Linux kernel developement
I'd like to thank the author for such a wonderful book. I bought this book 3 years ago. It introduced me to Linux Kernel development. As a professional programmer with strong Linux user-space development, I wanted to try and investigate kernel-space development. Though the web is full of very helpful pages and resources but I was a little inimidated when I took the web as my source. This book though guided me in a reasonable pace to the topic. This book helped me starting up with explaining the build process and the kernel different primitives. It's not a complete reference so expect you'd still need to use a reference like "Linux Device Drivers". LDD is very good book but unfortunately a bit dated. With Cooperstein's book, the LDD becomes more helpful. After reading the first few chapters I was able to tackle reading the kernel source to discover newer or absent functionality that is not in LDD nor in this book.Have fun reading it!
Trustpilot
2 months ago
2 months ago