Jak zainstalować moduł innej firmy, aby był ładowany podczas uruchamiania?

24

Mam moduł innej firmy, który współpracuje z modułem przechwytującym ramki. Pobrałem źródło jądra, postępowałem zgodnie z instrukcjami dostawcy, aby go skompilować, i otrzymałem wynikowy moduł arvdrv.ko, siedzący w folderze.

Sprzedawca dostarczył skrypt ładujący moduł do jądra i działa, gdy go uruchomię; moduł jest ładowany, ale tylko do następnego uruchomienia. Skrypt nie używa modprobe. Mogę uzyskać dostęp do frame grabbera, gdy moduł jest zainstalowany.

Wydaje mi się, że modprobe utrzymuje listę wielu modułów. Można edytować / etc / moduły, aby dodać nazwę modułu i ładuje się on przy starcie systemu, ale arvdrv modułu nie znajduje się na liście modprobe.

Moje pytanie brzmi: jak powiadomić modprobe o module? Czy trzeba go skopiować do nowej lokalizacji, a jeśli tak, to gdzie?

Nate Lockwood
źródło
W końcu odkryłem, że problem, który miałem po znalezieniu „prawidłowego” sposobu, polegał na tym, że dostawca zapomniał dołączyć dodatkowy skrypt inicjujący, więc sterownik został załadowany podczas rozruchu, ale nie powiódł się.
Nate Lockwood
Oto krótki przegląd procedury instalacji modułu z drzewa bez części instalacyjnej automatycznego uruchamiania: stackoverflow.com/questions/22783793/...
Ciro Santilli 事件 事件 中心 法轮功 六四 事件

Odpowiedzi:

32

Używanie sudo:

  1. Edytuj /etc/modulesplik i dodaj nazwę modułu (bez .korozszerzenia) we własnej linii. Podczas uruchamiania jądro spróbuje załadować wszystkie moduły wymienione w tym pliku.

  2. Skopiuj moduł do odpowiedniego folderu w /lib/modules/`uname -r`/kernel/drivers. W moim przypadku tak było /lib/modules/`uname -r`/kernel/drivers/pci. Spowoduje to umieszczenie modułu w bazie danych modprobe. Nie wiem czy to może być link.

  3. Uruchom depmod. Znajdzie to wszystkie zależności twojego modułu.

  4. W tym momencie uruchomiłem ponownie, a następnie uruchomiłem, lsmod | grep module-nameaby potwierdzić, że moduł został załadowany podczas rozruchu.

Aby uzyskać więcej informacji, zobacz strony podręcznika modprobe , lsmod i depmod .

Nate Lockwood
źródło
3
Postępowałem zgodnie z instrukcjami, ale nic nie działało, dopóki sprzedawca nie dostarczył jakiegoś debugowanego kodu !!! Twoja odpowiedź jest kompletna, prosta i uważam, że zadziałałaby, gdyby nie wystąpiły błędy dostawcy. Tak, zaakceptuję to.
Nate Lockwood