Welcome to LQ!
Look at: http://kernelnewbies.org/Linux_Kernel_Newbies
if you wish to get a feel for the kernel. Jumping right into kernel.org may not get the results you wish.
You might consider looking at these from http://kernelnewbies.org/Linux_Kernel_Newbies;
You cannot always start at the top, you will need to get a feel for a particular project to see how you should interact with that project. One thing to use 'C' but to actually know how to integrate with a project will go a long way.
From Kernel Mentors;
The Kernel Mentors Project was created by Matt Mackall as "an informal project to get experienced developers to mentor new developers and coach them on the best ways to get their code ready for submission."
The mailing list page for it can be found at http://selenic.com/mailman/listinfo/kernel-mentors.
The basic idea is matching new kernel developers up with experienced developers so they can get acquainted with existing best practices.
What this project hopes to accomplish:
What it's not intended to do:
- smooth out the development process a bit
- get various open code that ought to be in mainline merged
- generally increase participation from various camps (vendors, embedded, etc)
- perhaps we can even deal with some language barrier issues
- document the process along the way
Various things that I think need some thinking about:
- how to advertise this to the wider community, especially in the niches we usually don't reach
- how to track which projects are looking for mentors
- how to encourage people to volunteer as mentors
Hope this helps.
Have fun & enjoy!