Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Linux Kernel Programming for Beginners [closed]

Tags:

c

linux-kernel

I have been working on LINUX for the past six years, and am a core Linux guys since I started my career on Linux. Working more on Redhat / Centos / Fedora based distribution system administration, with some basic bash scripting knowledge.

Now I am looking to deep dive into programming to contribute or innovate something new on Linux operating system or kernel space. (More importantly on kvm virtualization front since I am an expert on virtualization). So I need your guidance to start my new career on Linux programming front. As of now, I am planning to start with below sequences:

  • C
  • C++
  • Linux kernel Programming
  • Python
  • Java

Kindly provide me some good web links or beginner to advanced docs for the above languages to start with.

like image 696
user428352 Avatar asked Aug 23 '10 11:08

user428352


3 Answers

If you don't know programming, the kernel is very far out of reach for you at this time. Learn C. Try The C Programming Language first, perhaps followed by the excellent Advanced Programming in the UNIX Environment.

And then you're ready to start looking at kernel source code and looking at kernel-specific books. Depending on what you want to do, it's probably a good idea to pick up some assembly as well.

C++ and Java are pretty well useless for Linux kernel development (this is not a judgement on either language, it's just that Linux is written in C and assembly).

like image 72
Chinmay Kanchi Avatar answered Nov 24 '22 05:11

Chinmay Kanchi


Linux Device Drivers 3rd edition and Kernelnewbies are both good places to start.

like image 26
Hasturkun Avatar answered Nov 24 '22 05:11

Hasturkun


I've read somewhere that Robert Love's book on kernel programming is pretty good for what you are trying to accomplish. Here's the link on AMAZON.

like image 41
Pablo Santa Cruz Avatar answered Nov 24 '22 07:11

Pablo Santa Cruz