How to install 3rd party module so that it is loaded on boot?












22















I have a third party module to go with a frame grabber. I've downloaded the kernel source, followed the vendor's instructions to compile it, and have the resulting module, arvdrv.ko, sitting in a folder.



The vendor has supplied a script that loads the module into the kernel and it works when I run it; the module is loaded but only until the next boot. The script does not use modprobe. I can access the frame grabber when the module is installed.



It appears to me that modprobe maintains a list of many modules. One can edit /etc/modules to add a module name and it will load at boot but the module arvdrv is not in modprobe's list.



My question is how to let modprobe know of the module? Does it need to be copied to a new location and if so where?










share|improve this question























  • I finally found that the problem I had after finding the "correct" way was that the vendor forgot to include an additional initialization script so the driver loaded at boot but failed.

    – Nate Lockwood
    Jun 12 '13 at 15:45











  • Here is a quick overview of the out-of-tree module installation procedure without the automatic startup install part: stackoverflow.com/questions/22783793/…

    – Ciro Santilli 新疆改造中心 六四事件 法轮功
    Nov 6 '18 at 9:31
















22















I have a third party module to go with a frame grabber. I've downloaded the kernel source, followed the vendor's instructions to compile it, and have the resulting module, arvdrv.ko, sitting in a folder.



The vendor has supplied a script that loads the module into the kernel and it works when I run it; the module is loaded but only until the next boot. The script does not use modprobe. I can access the frame grabber when the module is installed.



It appears to me that modprobe maintains a list of many modules. One can edit /etc/modules to add a module name and it will load at boot but the module arvdrv is not in modprobe's list.



My question is how to let modprobe know of the module? Does it need to be copied to a new location and if so where?










share|improve this question























  • I finally found that the problem I had after finding the "correct" way was that the vendor forgot to include an additional initialization script so the driver loaded at boot but failed.

    – Nate Lockwood
    Jun 12 '13 at 15:45











  • Here is a quick overview of the out-of-tree module installation procedure without the automatic startup install part: stackoverflow.com/questions/22783793/…

    – Ciro Santilli 新疆改造中心 六四事件 法轮功
    Nov 6 '18 at 9:31














22












22








22


10






I have a third party module to go with a frame grabber. I've downloaded the kernel source, followed the vendor's instructions to compile it, and have the resulting module, arvdrv.ko, sitting in a folder.



The vendor has supplied a script that loads the module into the kernel and it works when I run it; the module is loaded but only until the next boot. The script does not use modprobe. I can access the frame grabber when the module is installed.



It appears to me that modprobe maintains a list of many modules. One can edit /etc/modules to add a module name and it will load at boot but the module arvdrv is not in modprobe's list.



My question is how to let modprobe know of the module? Does it need to be copied to a new location and if so where?










share|improve this question














I have a third party module to go with a frame grabber. I've downloaded the kernel source, followed the vendor's instructions to compile it, and have the resulting module, arvdrv.ko, sitting in a folder.



The vendor has supplied a script that loads the module into the kernel and it works when I run it; the module is loaded but only until the next boot. The script does not use modprobe. I can access the frame grabber when the module is installed.



It appears to me that modprobe maintains a list of many modules. One can edit /etc/modules to add a module name and it will load at boot but the module arvdrv is not in modprobe's list.



My question is how to let modprobe know of the module? Does it need to be copied to a new location and if so where?







12.04 kernel modprobe






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked May 24 '13 at 21:21









Nate LockwoodNate Lockwood

5563623




5563623













  • I finally found that the problem I had after finding the "correct" way was that the vendor forgot to include an additional initialization script so the driver loaded at boot but failed.

    – Nate Lockwood
    Jun 12 '13 at 15:45











  • Here is a quick overview of the out-of-tree module installation procedure without the automatic startup install part: stackoverflow.com/questions/22783793/…

    – Ciro Santilli 新疆改造中心 六四事件 法轮功
    Nov 6 '18 at 9:31



















  • I finally found that the problem I had after finding the "correct" way was that the vendor forgot to include an additional initialization script so the driver loaded at boot but failed.

    – Nate Lockwood
    Jun 12 '13 at 15:45











  • Here is a quick overview of the out-of-tree module installation procedure without the automatic startup install part: stackoverflow.com/questions/22783793/…

    – Ciro Santilli 新疆改造中心 六四事件 法轮功
    Nov 6 '18 at 9:31

















I finally found that the problem I had after finding the "correct" way was that the vendor forgot to include an additional initialization script so the driver loaded at boot but failed.

– Nate Lockwood
Jun 12 '13 at 15:45





I finally found that the problem I had after finding the "correct" way was that the vendor forgot to include an additional initialization script so the driver loaded at boot but failed.

– Nate Lockwood
Jun 12 '13 at 15:45













Here is a quick overview of the out-of-tree module installation procedure without the automatic startup install part: stackoverflow.com/questions/22783793/…

– Ciro Santilli 新疆改造中心 六四事件 法轮功
Nov 6 '18 at 9:31





Here is a quick overview of the out-of-tree module installation procedure without the automatic startup install part: stackoverflow.com/questions/22783793/…

– Ciro Santilli 新疆改造中心 六四事件 法轮功
Nov 6 '18 at 9:31










1 Answer
1






active

oldest

votes


















26














Using sudo:




  1. Edit the /etc/modules file and add the name of the module (without the .ko extension) on its own line. On boot, the kernel will try to load all the modules named in this file.


  2. Copy the module to a suitable folder in /lib/modules/`uname -r`/kernel/drivers. In my case this was /lib/modules/`uname -r`/kernel/drivers/pci. This will place the module in modprobe's database. I don't know if this can be a link.


  3. Run depmod. This will find all the dependencies of your module.


  4. At this point, I rebooted and then run lsmod | grep module-name to confirm that the module was loaded at boot.



See the man pages for modprobe, lsmod, and depmod for more information.






share|improve this answer





















  • 3





    I did follow your instructions but nothing worked until the vendor supplied some debugged code!!! Your answer is complete, simple, and I believe it would have worked had there not been vendor errors. Yes, I will accept it.

    – Nate Lockwood
    Jul 13 '14 at 15:21










protected by A.B. Jul 12 '15 at 10:11



Thank you for your interest in this question.
Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).



Would you like to answer one of these unanswered questions instead?














1 Answer
1






active

oldest

votes








1 Answer
1






active

oldest

votes









active

oldest

votes






active

oldest

votes









26














Using sudo:




  1. Edit the /etc/modules file and add the name of the module (without the .ko extension) on its own line. On boot, the kernel will try to load all the modules named in this file.


  2. Copy the module to a suitable folder in /lib/modules/`uname -r`/kernel/drivers. In my case this was /lib/modules/`uname -r`/kernel/drivers/pci. This will place the module in modprobe's database. I don't know if this can be a link.


  3. Run depmod. This will find all the dependencies of your module.


  4. At this point, I rebooted and then run lsmod | grep module-name to confirm that the module was loaded at boot.



See the man pages for modprobe, lsmod, and depmod for more information.






share|improve this answer





















  • 3





    I did follow your instructions but nothing worked until the vendor supplied some debugged code!!! Your answer is complete, simple, and I believe it would have worked had there not been vendor errors. Yes, I will accept it.

    – Nate Lockwood
    Jul 13 '14 at 15:21
















26














Using sudo:




  1. Edit the /etc/modules file and add the name of the module (without the .ko extension) on its own line. On boot, the kernel will try to load all the modules named in this file.


  2. Copy the module to a suitable folder in /lib/modules/`uname -r`/kernel/drivers. In my case this was /lib/modules/`uname -r`/kernel/drivers/pci. This will place the module in modprobe's database. I don't know if this can be a link.


  3. Run depmod. This will find all the dependencies of your module.


  4. At this point, I rebooted and then run lsmod | grep module-name to confirm that the module was loaded at boot.



See the man pages for modprobe, lsmod, and depmod for more information.






share|improve this answer





















  • 3





    I did follow your instructions but nothing worked until the vendor supplied some debugged code!!! Your answer is complete, simple, and I believe it would have worked had there not been vendor errors. Yes, I will accept it.

    – Nate Lockwood
    Jul 13 '14 at 15:21














26












26








26







Using sudo:




  1. Edit the /etc/modules file and add the name of the module (without the .ko extension) on its own line. On boot, the kernel will try to load all the modules named in this file.


  2. Copy the module to a suitable folder in /lib/modules/`uname -r`/kernel/drivers. In my case this was /lib/modules/`uname -r`/kernel/drivers/pci. This will place the module in modprobe's database. I don't know if this can be a link.


  3. Run depmod. This will find all the dependencies of your module.


  4. At this point, I rebooted and then run lsmod | grep module-name to confirm that the module was loaded at boot.



See the man pages for modprobe, lsmod, and depmod for more information.






share|improve this answer















Using sudo:




  1. Edit the /etc/modules file and add the name of the module (without the .ko extension) on its own line. On boot, the kernel will try to load all the modules named in this file.


  2. Copy the module to a suitable folder in /lib/modules/`uname -r`/kernel/drivers. In my case this was /lib/modules/`uname -r`/kernel/drivers/pci. This will place the module in modprobe's database. I don't know if this can be a link.


  3. Run depmod. This will find all the dependencies of your module.


  4. At this point, I rebooted and then run lsmod | grep module-name to confirm that the module was loaded at boot.



See the man pages for modprobe, lsmod, and depmod for more information.







share|improve this answer














share|improve this answer



share|improve this answer








edited 7 hours ago









slm

1,75811824




1,75811824










answered Jun 12 '13 at 16:12









Nate LockwoodNate Lockwood

5563623




5563623








  • 3





    I did follow your instructions but nothing worked until the vendor supplied some debugged code!!! Your answer is complete, simple, and I believe it would have worked had there not been vendor errors. Yes, I will accept it.

    – Nate Lockwood
    Jul 13 '14 at 15:21














  • 3





    I did follow your instructions but nothing worked until the vendor supplied some debugged code!!! Your answer is complete, simple, and I believe it would have worked had there not been vendor errors. Yes, I will accept it.

    – Nate Lockwood
    Jul 13 '14 at 15:21








3




3





I did follow your instructions but nothing worked until the vendor supplied some debugged code!!! Your answer is complete, simple, and I believe it would have worked had there not been vendor errors. Yes, I will accept it.

– Nate Lockwood
Jul 13 '14 at 15:21





I did follow your instructions but nothing worked until the vendor supplied some debugged code!!! Your answer is complete, simple, and I believe it would have worked had there not been vendor errors. Yes, I will accept it.

– Nate Lockwood
Jul 13 '14 at 15:21





protected by A.B. Jul 12 '15 at 10:11



Thank you for your interest in this question.
Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).



Would you like to answer one of these unanswered questions instead?



Popular posts from this blog

How did Captain America manage to do this?

迪纳利

南乌拉尔铁路局