I have completed my graduation recently. And I have only basic knowledge in C. But I would like to work on the Linux Kernel, and customize it according to my needs. Not only customize I would also like to contribute my own ideas to Linux kernel.

But I am starting from 0 now! So please suggest me how to start, where to start and what more to do for understanding and writing programs on kernel ?

2 Answers 2


Building a kernel is relatively easy (download the source, make menuconfig && make bzImage modules && make modules_install, and then copying the new kernel image to right place - or some of the other ways to do it as per your distribution), writing kernel code is not as easy and writing a kernel, well, discuss mr. Torvalds with that ;)

There are plenty of resources on kernel programming, just google around for "linux kernel programming" (e.g. The Linux Kernel Module Programming Guide sounds like a good hit for you even though it's on the 2.6 version which is starting to age now).

If you are also concerned about the (G)UI, it is probably worth also diving in the LFS site (besides, it does containg the info on compiling the kernel ;) ) as the kernel doesn't have any UI itself, all that is just applications around it.


you can take a look here: http://www.linuxfromscratch.org/

It won't be only for the compile kernel but it actually goes all the way into customizing your own OS.

  • Will it be usefull in understanding and building the kernel ? Aug 20, 2013 at 11:13

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