Comment installer un module tiers pour qu'il soit chargé au démarrage?

24

J'ai un module tiers pour aller avec une carte d'acquisition d'images. J'ai téléchargé la source du noyau, suivi les instructions du fournisseur pour la compiler et j'ai le module résultant, arvdrv.ko, assis dans un dossier.

Le vendeur a fourni un script qui charge le module dans le noyau et cela fonctionne lorsque je l'exécute; le module est chargé mais uniquement jusqu'au prochain démarrage. Le script n'utilise pas modprobe. Je peux accéder à la carte d'acquisition d'images lorsque le module est installé.

Il me semble que modprobe maintient une liste de nombreux modules. On peut éditer / etc / modules pour ajouter un nom de module et il se chargera au démarrage mais le module arvdrv n'est pas dans la liste de modprobe.

Ma question est de savoir comment informer modprobe du module? Doit-il être copié vers un nouvel emplacement et si oui, où?

Nate Lockwood
la source
J'ai finalement trouvé que le problème que j'ai eu après avoir trouvé la manière "correcte" était que le vendeur avait oublié d'inclure un script d'initialisation supplémentaire pour que le pilote se charge au démarrage mais échoue.
Nate Lockwood
Voici un aperçu rapide de la procédure d'installation du module hors arborescence sans la partie d'installation de démarrage automatique: stackoverflow.com/questions/22783793/…
Ciro Santilli 6 改造 中心 法轮功 六四 事件

Réponses:

32

En utilisant sudo:

  1. Modifiez le /etc/modulesfichier et ajoutez le nom du module (sans l' .koextension) sur sa propre ligne. Au démarrage, le noyau essaiera de charger tous les modules nommés dans ce fichier.

  2. Copiez le module dans un dossier approprié dans /lib/modules/`uname -r`/kernel/drivers. Dans mon cas, c'était /lib/modules/`uname -r`/kernel/drivers/pci. Cela placera le module dans la base de données de modprobe. Je ne sais pas si cela peut être un lien.

  3. Courez depmod. Cela trouvera toutes les dépendances de votre module.

  4. À ce stade, j'ai redémarré puis exécuté lsmod | grep module-namepour confirmer que le module a été chargé au démarrage.

Consultez les pages de manuel pour modprobe , lsmod et depmod pour plus d'informations.

Nate Lockwood
la source
3
J'ai suivi vos instructions mais rien n'a fonctionné jusqu'à ce que le vendeur fournisse du code débogué !!! Votre réponse est complète, simple et je pense que cela aurait fonctionné s'il n'y avait pas eu d'erreurs de fournisseur. Oui, je l'accepterai.
Nate Lockwood