我正在尝试在启动时加载内核模块.
如果我跑insmod /path/to/module.ko
,它运作正常.但每次重新启动时都必须重复此操作.
如果我跑modprobe /path/to/module.ko
,它找不到模块.我知道modprobe使用配置文件,但即使将/path/to/module.ko添加到/ etc/modules之后我也无法加载模块.
什么是正确的配置?
您可以将模块的符号链接设置为标准路径,因此depmod将会看到它,您将能够像任何其他模块一样加载它.
sudo ln -s /path/to/module.ko /lib/modules/`uname -r` sudo depmod -a sudo modprobe module
如果将模块名称添加到/ etc/modules,则会在您启动时加载它.
无论如何,我认为正确的配置是将模块复制到标准路径.
请遵循以下步骤:
将hello.ko复制到/ lib/modules /'uname -r'/ misc /
在/lib/modules/'uname-r'/modules.dep中添加misc/hello.ko条目
sudo depmod
sudo modprobe你好
modprobe将检查modules.dep文件是否存在任何依赖项.
我认为关键是将模块复制到标准路径.
完成后,modprobe只接受模块名称,所以不要使用路径和".ko"扩展名.