This article shows how this kernel module was developed.
## Hello World!
First of all, we did not have any previous knowledge about Linux kernel development (But we *did* know how Linux itself works, however). We usually believe in our *learning-by-doing* strategy, but we decided to start with some of the theoretical basics this time. So we went to Linus Torvald's official GitHub repo and had a look at the [Documentation](https://github.com/torvalds/linux/tree/master/Documentation) folder. We found this to be a relatively inefficient way of learning kernel module development really quick, since there are literally hundreds, if not thousands of documents in there. It would have taken way too long to read through all of these pages, furthermore we didn't even know where to start. After some research, we discovered [The Linux Documentation Project (TLDP)](http://tldp.org) and, specifically, [The Linux Kernel Module Programming Guide](http://tldp.org/LDP/lkmpg/2.6/html/index.html). It provided us all of the basics we needed to know in order to start with our first Hello World module.
## Starting From Scratch
When we successfully compiled our first Hello World module, we believed that we were ready for our actual project.