¿Cómo instalar un módulo de terceros para que se cargue en el arranque?

24

Tengo un módulo de terceros para ir con un capturador de fotogramas. Descargué la fuente del núcleo, seguí las instrucciones del proveedor para compilarlo, y tengo el módulo resultante, arvdrv.ko, en una carpeta.

El proveedor ha proporcionado un script que carga el módulo en el kernel y funciona cuando lo ejecuto; el módulo se carga pero solo hasta el próximo inicio. El script no usa modprobe. Puedo acceder al capturador de fotogramas cuando el módulo está instalado.

Me parece que modprobe mantiene una lista de muchos módulos. Se puede editar / etc / modules para agregar un nombre de módulo y se cargará en el arranque, pero el módulo arvdrv no está en la lista de modprobe.

Mi pregunta es ¿cómo informar a modprobe del módulo? ¿Es necesario copiarlo en una nueva ubicación y, de ser así, dónde?

Nate Lockwood
fuente
Finalmente descubrí que el problema que tuve después de encontrar la forma "correcta" fue que el proveedor olvidó incluir un script de inicialización adicional para que el controlador se cargara al arrancar pero falló.
Nate Lockwood
Aquí hay una descripción rápida del procedimiento de instalación del módulo fuera del árbol sin la parte de instalación de inicio automático: stackoverflow.com/questions/22783793/…
Ciro Santilli 新疆 改造 中心 法轮功 六四 事件

Respuestas:

32

Utilizando sudo:

  1. Edite el /etc/modulesarchivo y agregue el nombre del módulo (sin la .koextensión) en su propia línea. En el arranque, el núcleo intentará cargar todos los módulos nombrados en este archivo.

  2. Copie el módulo a una carpeta adecuada en /lib/modules/`uname -r`/kernel/drivers. En mi caso esto fue /lib/modules/`uname -r`/kernel/drivers/pci. Esto colocará el módulo en la base de datos de modprobe. No sé si esto puede ser un enlace.

  3. Ejecutar depmod. Esto encontrará todas las dependencias de su módulo.

  4. En este punto, reinicié y luego ejecuté lsmod | grep module-namepara confirmar que el módulo se cargó en el arranque.

Consulte las páginas de manual de modprobe , lsmod y depmod para obtener más información.

Nate Lockwood
fuente
3
¡Seguí tus instrucciones, pero nada funcionó hasta que el proveedor me proporcionó un código depurado! Su respuesta es completa, simple, y creo que hubiera funcionado si no hubiera habido errores del proveedor. Sí, lo aceptaré.
Nate Lockwood