You know that Linux kernel thing, that has thousands of developers from all over the world, some of which do it professionally, most of which do it for the love of solving problems (or something)? I look at it as a great chance for learning.
It's Open Source. Get the source code, check out one of the innumerable online tutorials, and give it a shot. That is, if the source isn't available in your distribution of choice (Debian has it, of course) already with all the bells and whistles preselected.
The first time one tries "
$ make menuconfig", it's a mind-numbing number of options, drivers, things to be compiled in and things to be built as modules for loading if, and only if, needed.
rest here