Getting started on Linux Kernel Development

Bjørn Mork bjorn at
Sun Jun 2 06:43:33 EDT 2013

Daniel Hamacher <danielhamacher.dh at> writes:

> My name is Daniel and I am starting out in Linux Kernel development on a 
> Debian Linux distribution. I followed the steps on and 
> I am booting now with 3.10.0-rc3+. So I build the compiler and I am also 
> booting from it. I watched the video from Greg Kroah-Hartman on how to 
> submit patches, I created a branch, so I am ready to go...
> How do I get started with the Kernel janitors to get my feet wet? I have 
> intermediate knowledge of C and basic knowledge of Assembly. Is there 
> anything in particular that I can get started on? Thanks.

Did everything work as you expected with v3.10-rc3?  Is all your
hardware fully supported?  If you can answer yes to both those
questions, then try enabling more kernel features and/or hardware until
something breaks.  Then fix it :)

Look through your kernel logs for errors and warnings, look them up in
the source, and try to figure out how the code works and the meaning of
the error/warning.  Not all of them will be real errors.  But some may
be.  And some of them are problably just debug messages using the wrong
level.  Which is also something you could consider fixing..

I believe most kernel developers started by fixed a problem they were
having themselves. This is a lot easier than trying to fix someone elses

As others already pointed out: Early testing is also always appreciated.
If there is an active development list for any driver you are using, or
other kernel parts where you are in an extra good position to test, then
consider joining that list and test out new proposed features as early
as possible.  Linux developers rarely have access to all the different
hardware they are trying to support, and your testing, whether it is a
success or failure, can be extremely valuable. It is also likely that
you find something you can fix here as you learn to know the code you
are trying out.

And please forget about all the advice starting with some dull janitor
work.  Unless you enjoy cleaning.  Then please go ahead.  Coding is
supposed to be fun, you know :)


More information about the Kernelnewbies mailing list