如何实现在Linux启动的时候自动加载驱动模块

1. /etc/modules/etc/modules-load.d/

/etc/modules文件中添加模块名可以让系统在启动时自动加载模块。只需打开该文件并在末尾添加模块名称即可。例如,如果你的模块名为“mydriver”,只需添加一行“Mydriver”即可。然后在下次启动时,系统就会自动加载该模块。

某些Linux发行版可能没有/etc/modules文件,但有一个/etc/modules-load.d/目录。你可以在这个目录下创建一个新的.conf文件(比如mydriver.conf),然后在该文件中添加你的模块名“Mydriver”。

2. /etc/modprobe.d/

你可以在/etc/modprobe.d/目录下创建一个新的.conf文件,然后在文件中使用“install”命令来指定在加载某个模块时自动加载你的模块。例如,如果你想在加载usbcore模块时自动加载你的模块"Mydriver",可以创建一个文件/etc/modprobe.d/mydriver.conf,然后添加以下内容:

install usbcore /sbin/modprobe Mydriver; /sbin/modprobe --ignore-install usbcore   

3. 内核参数:

在某些情况下,你可能想要在内核启动时就加载某个模块。在这种情况下,你可以在GRUB的内核启动参数中添加modprobe.module_name。你需要编辑/etc/default/grub文件,找到GRUB_CMDLINE_LINUX_DEFAULT行,在引号内添加“modprobe.module_name”。然后保存文件并运行update-grub。例如,如果你想在内核启动时加载“Mydriver”模块,你可以这样修改内核启动参数:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash modprobe.Mydriver"   

然后保存文件并运行update-grub

4. 制作成系统服务:

另一种方法是创建一个新的系统服务,该服务在系统启动时调用modprobe加载你的模块。这需要你创建一个新的systemd服务文件,如/etc/systemd/system/load-mydriver.service,并添加以下内容:

[Unit]
Description=Load Mydriver module   
[Service]   
Type=oneshot   ExecStart=/sbin/modprobe Mydriver   [Install]   
WantedBy=multi-user.target  

然后使用systemctl命令启用并启动服务:

sudo systemctl enable load-mydriver.service   sudo systemctl start load-mydriver.service   

在下次启动时,系统就会自动加载“Mydriver”模块。

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值