Як встановити сторонній модуль, щоб він завантажився на завантаження?


24

У мене є сторонній модуль, який потрібно підключити до захоплення кадру. Я завантажив джерело ядра, дотримувався вказівок продавця, щоб його скласти, і отриманий модуль, arvdrv.ko, сидів у папці.

Постачальник постачав сценарій, який завантажує модуль у ядро, і він працює, коли я запускаю його; модуль завантажується, але лише до наступного завантаження. У скрипті не використовується modprobe. Я можу отримати доступ до захоплювача кадрів, коли встановлений модуль.

Мені здається, що modprobe підтримує список багатьох модулів. Можна редагувати / etc / module, щоб додати ім'я модуля, і він завантажиться під час завантаження, але модуль arvdrv відсутній у списку modprobe.

Моє запитання - як повідомити modprobe про модуль? Чи потрібно її скопіювати на нове місце і якщо так, то куди?


Нарешті я виявив, що проблема, яку я мав після пошуку "правильного" шляху, полягала в тому, що постачальник забув включити додатковий сценарій ініціалізації, щоб драйвер завантажився під час завантаження, але не вдався.
Нейт Локвуд

Ось короткий огляд процедури установки модуля поза-дерева без автоматичного запуску установки частина: stackoverflow.com/questions/22783793 / ...
Чіро Сантіллі新疆改造中心法轮功六四事件

Відповіді:


32

Використання sudo:

  1. Відредагуйте /etc/modulesфайл та додайте назву модуля (без .koрозширення) у свій власний рядок. Під час завантаження ядро ​​спробує завантажити всі названі в цьому файлі модулі.

  2. Скопіюйте модуль у відповідну папку в /lib/modules/`uname -r`/kernel/drivers. У моєму випадку це було /lib/modules/`uname -r`/kernel/drivers/pci. Це помістить модуль у базу даних modprobe. Я не знаю, чи може це бути посиланням.

  3. Біжи depmod. Це знайде всі залежності вашого модуля.

  4. У цей момент я перезавантажився, а потім запустив, lsmod | grep module-nameщоб підтвердити, що модуль завантажений під час завантаження.

Додаткову інформацію див. На сторінках man для modprobe , lsmod та depmod .


3
Я дотримувався ваших інструкцій, але нічого не працювало, поки постачальник не поставив якийсь налагоджений код !!! Ваша відповідь повна, проста, і я вважаю, що вона спрацювала б, якби не було помилок продавця. Так, я прийму це.
Нейт Локвуд
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.