I have some experience with C/C++. I have link+ IDE and Start with document this document(http://www.tldp.org/LDP/lkmpg/2.6/lkmpg.pdf)

Now it is based on 2.6 version and some headers have no functions as suggested by book. So, It is creating problem in testing the concepts.

Is there a way to get around with this problem? Or any site that can provide kernel programming with all material ready(like OS to experiment and tutorial for Kernel programming with respect to that OS)

My end Goal is to learn about systems interfaces and network interface programming for my project.

closed as off-topic by jasonwryan, thrig, DopeGhoti, Jeff Schaller, Hauke Laging Aug 29 '17 at 19:02

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Requests for learning materials (tutorials, how-tos etc.) are off topic. The only exception is questions about where to find official documentation (e.g. POSIX specifications). See the Help Center and our Community Meta for more information." – thrig, DopeGhoti, Jeff Schaller, Hauke Laging
If this question can be reworded to fit the rules in the help center, please edit the question.


If you are looking for network related kernel development guide then go for Understanding Linux Network Internals - O'Reilly Media. Its a really nice book.

Another interesting way to learn Kernel programming is taking Eudyptulla Challenge.. This will help you to contribute to open source also.

The best way to understand how any kernel subsystem works is by exploring the code itself which you can get here : http://elixir.free-electrons.com/linux/v3.7/source/kernel across all versions.

Some other books :

Linux kernel in a nutshell

Understanding the Linux Kernel

  • Thanks user 580082. I think that will be a good start. :) – Sahil Gupta Aug 31 '17 at 18:00

Not the answer you're looking for? Browse other questions tagged or ask your own question.