Вам не нужно компилировать все ядро, но вы должны, по крайней мере, создать модуль ядра, который гораздо проще компилировать. Вам следует взглянуть на учебное пособие, например this , или даже на полноценную книгу типа this .
Имейте в виду, что не весь код ядра может быть перемещен в модуль - только те, которые используют публичные (экспортируемые) интерфейсы ядра. Код, свойственный ядру ядра (например, виртуальной машине или планировщику), вероятно, недоступен для остальной части ядра.
Также имейте в виду, что пробовать код ядра на вашей машине разработки не рекомендуется -
небольшая ошибка может легко сломать всю систему. Вы должны посмотреть на то, как опробовать свой код ядра на отдельной виртуальной машине, например. в VirtualBox .
Деталь, которая усложняет задачу: в общем случае вы можете вставить только модуль в ядро, для которого он был построен. Модуль, скомпилированный в хост-системе, может использоваться на тестовой ВМ тогда и только тогда, когда ядро идентично, то есть та же версия пакета ядра из того же дистрибутива. Учитывая, что вы захотите обновить дистрибутив своего хоста, на мой взгляд, проще построить модуль в тестирующей системе.
Поскольку вам необходим полный комплект разработки для C , вам, вероятно, следует установить один из популярных дистрибутивов Linux. Он должен быть более стабильным, и вы можете иметь доступ к его сообществу пользователей. Если вы хотите уменьшить его размер, вы можете просто установить базовую систему без X-сервера или графических приложений.
BTW Netbeans предназначен для разработки приложений для пространства пользователя. Вы, вероятно, можете адаптировать его для кода ядра, но он никогда не будет таким подходящим, как для программирования в пользовательском пространстве. На самом деле, ни одна IDE действительно не подходит. Код ядра не может быть запущен из пространства пользователя (не говоря уже о том, чтобы использовать отдельную виртуальную машину), что нарушает обычный цикл рабочего процесса edit-> compile-> run-> debug, который автоматизируют IDE.
Большинство разработчиков ядра просто используют расширенный редактор с подсветкой синтаксиса для C, такой как Vim или Emacs . Emacs на самом деле является IDE (и многим другим), но, как я упоминал выше, вы не можете легко использовать рабочий процесс на основе IDE для разработки кода ядра.