In this chapter, we'll look at four projects that will show you how to build increasingly complex Linux kernel modules:
- boilerplate: An extremely simple kernel module that shows the minimal requirements to build your own module
- state: A module that keeps some global static variables—that is, a static state
- allocating: A module that allocates heap memory—that is, a dynamic state
- dots: A module that implements a read-only character device that can be associated with a filesystem pathname, and then it can be read as a file