this looks promising:
http://kernelnewbies.org/KernelHacking
Please note that you will need to familiarize yourself with the concepts of operating systems in order to understand the concepts of memory allocation, how processes are planned and what has not yet been done. In addition, the linux kernel code is monstrously complex.
You are performing a difficult task. But enjoy it. You might want to start with a small device driver code.
source share