Как мне настроить 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, он будет загружен при каждой загрузке.
Во всяком случае, я думаю, что правильной конфигурацией является копирование модуля в стандартные пути.
Выполните следующие шаги:
- Скопируйте hello.ko в /lib/modules/'uname-r'/misc/
- Добавить запись в misc/hello.ko в /lib/modules/'uname-r'/modules.dep
- судо деподм
- sudo modprobe привет
modprobe проверит файл modules.dep на наличие любых зависимостей.
Я думаю, что ключ заключается в том, чтобы скопировать модуль в стандартные пути.
Как только это будет сделано, modprobe принимает только имя модуля, поэтому не указывайте путь и расширение ".ko".
Согласно ответу @Ray Li, достаточно просто выполнить следующие шаги:
sudo -i
cp hello.ko /lib/modules/`uname-r`/
depmod
modprobe hello