如何配置modprobe来查找我的模块?

sep*_*332 46 kernel insmod kernel-module

我正在尝试在启动时加载内核模块.

如果我跑insmod /path/to/module.ko,它运作正常.但每次重新启动时都必须重复此操作.

如果我跑modprobe /path/to/module.ko,它找不到模块.我知道modprobe使用配置文件,但即使将/path/to/module.ko添加到/ etc/modules之后我也无法加载模块.

什么是正确的配置?

Jai*_*ano 63

您可以将模块的符号链接设置为标准路径,因此depmod将会看到它,您将能够像任何其他模块一样加载它.

sudo ln -s /path/to/module.ko /lib/modules/`uname -r`
sudo depmod -a
sudo modprobe module
Run Code Online (Sandbox Code Playgroud)

如果将模块名称添加到/ etc/modules,则会在您启动时加载它.

无论如何,我认为正确的配置是将模块复制到标准路径.

  • 如果你真的想要,你可以在/etc/depmod.conf或/etc/depmod.d/something上写"search/some/other/path",但我仍然建议按照Jaime的建议进行复制或者符号化到/ lib/modules /`uname -r`,每个人都期望模块. (4认同)

小智 7

请遵循以下步骤:

  1. 将hello.ko复制到/ lib/modules /'uname -r'/ misc /
  2. 在/lib/modules/'uname-r'/modules.dep中添加misc/hello.ko条目
  3. sudo depmod
  4. sudo modprobe你好

modprobe将检查modules.dep文件是否存在任何依赖项.


Ray*_* Li 6

我认为关键是将模块复制到标准路径.

完成后,modprobe只接受模块名称,所以不要使用路径和".ko"扩展名.