С риском начала пламенной войны: я бы рекомендовал вам держаться подальше от кода ядра Linux. Если вы хотите испачкать руки программированием ядра, используйте FreeBSD, NetBSD или OpenSolaris, например. Код намного чище и лучше структурирован (это, конечно, субъективное мнение), на самом деле разработан и даже задокументирован. Кроме того, у них есть отладчик ядра (обратите внимание, что Linus против как отладчиков ядра, так и стабильного API ядра, что делает любое ядро движущейся целью вашей работы). У этих ОС даже есть список проектов на соответствующих веб-сайтах, и я лично имею очень хороший опыт общения с людьми на форумах OpenSolaris и в списках рассылки NetBSD.
Вы говорите, что имеете опыт работы с C - посмотрите на репозитории исходного кода веб-сайтов Linux и OpenSolaris или некоторые BSD, сравните код и составьте собственное мнение. Я предполагаю, что UNIX с открытым исходным кодом - это нечто большее, чем Linux, и что вам следует хотя бы взглянуть на них, прежде чем переходить на Linux.