Organization of the Material
The book introduces its topics in ascending order of complexity and can be divided into two parts. The first part (Chapter 1 through Chapter 10) begins with the proper setup of kernel modules, and goes on to describe the various aspects of programming that you’ll need in order to write a full-featured driver for a char-oriented device. Every chapter covers a distinct problem and includes a ``symbol table'' at the end, which can be used as a reference during actual development. As I wrote my own drivers, I found myself referring back to my own chapters, and I hope you too will exploit the symbol tables.
Throughout the first part of the book, the organization of the material moves roughly from the software-oriented concepts to the hardware-related ones. This is meant to allow you to test the software on your own computer as far as possible without the need to plug external hardware into the machine. Every chapter includes source code and points to sample drivers that you can run on any Linux computer. In Chapter 8 and Chapter 9, however, I’ll ask you to connect an inch of wire to the parallel port in order to test out hardware handling, but this requirement should be manageable by everyone.
The second half of the book describes block drivers and network interfaces and goes deeper into more advanced topics. Most likely you won’t need this information to write actual drivers, but I hope you appreciate the first part enough to be induced to go on reading. ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access