Linux Kernel development is a very wanted skill in the software market. Becoming a Linux Kernel developer is hard and requires a lot of time and dedication. One thing that makes this skill hard to learn is the huge body of knowledge that one needs to be familiar with and it is not always clear where to start. In this article, I will try to provide some pointers on where to start.
#1 Linux Kernel Development the Book
Linux Kernel Development 3rd edition is a book by Robert Love. Linux Kernel Development covers the design and implementation of the Linux Kernel.
This book is very beneficial to those aspiring to better understand the operating system and also to those who would like to become better code writers.
Linux Kernel Development can be found for free in pdf form online.
#2 Linux Device Drivers 4th Edition
Linux Device Drivers 4th edition is a book by Jonathan Corbet, Alessandro Rubini, and Greg Kroah-Hartman. A very useful and practical book that can open the door for Linux Kernel Development.
The software that handles or manages a hardware controller is known as a device driver. Writing device drivers is one of the few areas of programming for the Linux operating system that calls for unique, Linux-specific knowledge.
To read the book go to Linux Device Drivers
#3 Linux Kernel Source Code
The Linux Kernel source code is free and open to all. Reviewing the code and exploring the different parts can actually be a very good way to learn how the kernel is structured and what is the coding styles used in the kernel.
follow the link to see the Linux Kernel Source code
#4 Linux System Programming
Linux System Programming 2ed edition by Robert Love. This book covers the principle of writing software that makes use of the Linux Kernel services. Even though this is not a Linux Kernel Development book yet it offers needed knowledge for the kernel developer on how the user space programs are utilizing the kernel.
link to Linux System Programming