At the risk of starting a flame war: I'd recommend you to stay away from Linux kernel code. If you want to get your hands dirty with kernel programming, go with FreeBSD, NetBSD or OpenSolaris, for example. The code is much cleaner and better-structured (this is of course subjective opinion), actually designed, and even documented. Plus they have a kernel debugger (note that Linus is against both kernel debuggers and stable kernel API, which makes any kernel a moving target for your work). These OS-es even have a list of projects on their respective web-sites, and I personally have extremely good experience with people on OpenSolaris forums and NetBSD mailing lists.
You say that you have experience with C -- look at web source code repositories of Linux and of OpenSolaris or some of BSDs, compare the code, and make your own opinion. What I'm saying is, I guess, that there's more to open-source UNIX than Linux, and that you should at least look at them before going for Linux.