Тут попробуем разобраться, как устроены модули ядра Linux.

Как загружать модули в ядро

Увидеть какие модули уже загружены в ядро можно выполнить команду lsmod, которая прочитает данные из /proc/modules Как же они загружаются в ядро? В самых общих чертах это выглядит так: когда ядру нужна функциональность, которой нет резидентно в ядре, демон kmod вызывает команду modprobe для загрузки модуля. modprobe получает как параметр строку указывающую на модуль (имя модуля или его псевдоним см. файл /etc/modprobe.conf??? у меня псевдонимы находятся в /etc/modprobe.d/aliases). Затем определяются зависимости модуля (модули, которые нужны для работы нашему модулю см. файл /lib/modules/<версия ядра>/modules.dep), затем собственно производится загрузка модулей с помощью insmod в нужном порядке (сначала те модули, которые указаны в зависимости, потом сам модуль)

Версия модуля

Модули скомпилированные для одной версии ядра, могут не подходить для другой версии ядра, поэтому не следует загружать модули для одной версии в другой. Данное руководство предназначено для версии ядра 2.6