web-dev-qa-db-fra.com

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

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

Le fournisseur a fourni un script qui charge le module dans le noyau et il fonctionne lorsque je l’exécute. le module est chargé mais seulement jusqu'au prochain démarrage. Le script n'utilise pas modprobe. Je peux accéder à la carte d'acquisition 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 ne figure 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ù?

23
Nate Lockwood

Utilisation de Sudo:

  1. Editez le fichier /etc/modules et ajoutez le nom du module (sans l'extension .ko) 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. Exécutez depmod. Ceci trouvera toutes les dépendances de votre module.

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

Reportez-vous aux pages de manuel relatives à modprobe, lsmod et depmod pour plus d'informations.

31
Nate Lockwood