Как мне настроить modprobe, чтобы найти мой модуль?

Я пытаюсь получить модуль ядра для загрузки при загрузке.

Если я бегу insmod /path/to/module.koработает нормально. Но это нужно повторять каждый раз, когда я перезагружаюсь.

Если я бегу modprobe /path/to/module.ko, он не может найти модуль. Я знаю, что modprobe использует файл конфигурации, но я не могу заставить его загрузить модуль даже после добавления /path/to/module.ko в / etc / modules.

Какова правильная конфигурация?

4 ответа

Решение

Вы можете сделать символическую ссылку вашего модуля на стандартный путь, так что depmod увидит его и вы сможете загрузить его как любой другой модуль.

sudo ln -s /path/to/module.ko /lib/modules/`uname -r`
sudo depmod -a
sudo modprobe module

Если вы добавите имя модуля в /etc/modules, он будет загружен при каждой загрузке.

Во всяком случае, я думаю, что правильной конфигурацией является копирование модуля в стандартные пути.

Выполните следующие шаги:

  1. Скопируйте hello.ko в /lib/modules/'uname-r'/misc/
  2. Добавить запись в misc/hello.ko в /lib/modules/'uname-r'/modules.dep
  3. судо деподм
  4. sudo modprobe привет

modprobe проверит файл modules.dep на наличие любых зависимостей.

Я думаю, что ключ заключается в том, чтобы скопировать модуль в стандартные пути.

Как только это будет сделано, modprobe принимает только имя модуля, поэтому не указывайте путь и расширение ".ko".

Согласно ответу @Ray Li, достаточно просто выполнить следующие шаги:

      sudo -i
cp hello.ko /lib/modules/`uname-r`/
depmod
modprobe hello
Другие вопросы по тегам