问题
I understand the 3.2 kernel is mostly an evolutionary step, but I'd like to play around with some simple device drivers for a project I'm working on. Is the info in Linux Device Drivers 3rd Ed (Corbet, Rubini and Kroah-Hartman, O'Reilly) still germane or are there major differences between how 2.6 and 3.2 do things? What do people think of this book in general?
回答1:
I like LDD3. The teaching style is outstanding. I see the most references to that text in SO, LWN etc.
I tried just reading it, that had limited value. It was better to get the examples built and running, play some e.g. with scull, then study the text hard to see how the code was really working.
But, to do that with modern kernels, you need updated code. I found martinezjavier code built OK with 3.1 kernel (I deleted tty from Makefile, and added simple_open() definition) then life was great. Also I found some nice work from cs.fsu, including online cross-reference.
Cooperstein text also exists, and has exercise solutions with multiple kernel versions, but I haven't used this text.
来源:https://stackoverflow.com/questions/18711444/linux-device-drivers-3rd-ed-and-3-2-kernel