Linux Device Drivers 3rd edition и Kernelnewbies - хорошие места для начала.
Хотя я не разработчик ядра, я думаю, что это может помочь вам. Здесь содержится список документов, связанных с ядром.
Я где-то читал, что книга Роберта Лава по программированию ядра очень хороша для того, что вы пытаетесь выполнить. Вот ссылка на AMAZON.
Если вы не разбираетесь в программировании, ядро в настоящее время для вас очень далеко от пределов досягаемости. Изучите C. Сначала попробуйте язык программирования C, а затем, возможно, последует отличное Advanced Programming in the UNIX Environment.
И тогда вы готовы начать просматривать исходный код ядра и читать книги по ядру. В зависимости от того, что вы хотите сделать, вероятно, неплохо было бы также взять какую-нибудь сборку.
C++ и Java совершенно бесполезны для Linux разработки ядра (это не суждение о каком-либо языке, просто Linux написан на C и ассемблере).