Нет, систему перекомпилировать совсем не нужно!
Для написания драйвера ядра нужды исходники ядра (точнее, только хереды) и компилятор.
Что касается сетевого драйвера, рекомендую начать с изучения драйвера ne2000, как одного из самы простых.
Начать же что-то писать под ядро - начните с кижки Померанца The Linux Kernel Module Programming Guide -
https://www.tldp.org/LDP/lkmpg/2.6/lkmpg.pdf
А вот тут и на русском -
citforum.ru/operating_systems/linux/lkmpg
Также в исходниках ядра есть темплейты (шаблоны) драйверов, правда сейчас не упомню где точно...
Вот есть и такой ресурс -
https://github.com/ngtkt0909/linux-kernel-module-t... (кросскомпиляторы ставить не обязательно, если не разрабатываете модуль под платформу отличную от x86)
Вот, вообще отличная статья, типа делай раз-два-три -
https://blog.sourcerer.io/writing-a-simple-linux-k...