som*_*ing 32 startup kernel-modules modprobe systemd
我的发行版是 Fedora 17 Gnome。每次重新启动/重新启动计算机时,我都需要以 root 身份运行此命令:
modprobe rt2800usb
Run Code Online (Sandbox Code Playgroud)
我怎样才能让它永久?
don*_*sti 50
在任何发行版上,systemd您都可以通过modules-load.d以下方式自动加载模块:
创建配置文件:
/etc/modules-load.d/rt2800usb.conf
打开它并像这样编辑(添加模块名称):
rt2800usb
下次重新启动时,模块应该会自动加载
故障排除:
检查systemd服务是否加载了模块:
systemctl status systemd-modules-load.service
Run Code Online (Sandbox Code Playgroud)
输出应如下所示:
systemd-modules-load.service - Load Kernel Modules
Loaded: loaded (/usr/lib/systemd/system/systemd-modules-load.service; static)
Active: active (exited) since Wed, 03 Apr 2013 22:50:57 +0000; 46s ago
Docs: man:systemd-modules-load.service(8)
man:modules-load.d(5)
Process: 260 ExecStart=/usr/lib/systemd/systemd-modules-load (code=exited, status=0/SUCCESS)
Run Code Online (Sandbox Code Playgroud)
最后一行包含PID(进程 ID)和退出代码。status=0/SUCCESS表示模块已成功插入,通过以下方式确认:
journalctl -b _PID=260
Run Code Online (Sandbox Code Playgroud)
输出为:
Apr 03 22:50:57 mxhst systemd-modules-load[260]: Inserted module 'rt2800usb'
Run Code Online (Sandbox Code Playgroud)
如果失败,systemctl输出如下所示:
systemd-modules-load.service - Load Kernel Modules
Loaded: loaded (/usr/lib/systemd/system/systemd-modules-load.service; static)
Active: failed (Result: exit-code) since Wed, 03 Apr 2013 22:50:59 +0000; 43s ago
Docs: man:systemd-modules-load.service(8)
man:modules-load.d(5)
Process: 260 ExecStart=/usr/lib/systemd/systemd-modules-load (code=exited, status=1/FAILURE)
Run Code Online (Sandbox Code Playgroud)
有journalctl -b报告:
Apr 03 22:50:59 mxhst systemd-modules-load[260]: Failed to find module 'fakert2800usb'
Run Code Online (Sandbox Code Playgroud)
当退出代码为时0/SUCCESS,表示您的模块已成功插入;跑步
lsmod | grep rt2800
Run Code Online (Sandbox Code Playgroud)
应确认:
rt2800usb 26854 0
rt2x00usb 19757 1 rt2800usb
rt2800lib 64762 1 rt2800usb
rt2x00lib 66520 3 rt2x00usb,rt2800lib,rt2800usb
mac80211 578735 3 rt2x00lib,rt2x00usb,rt2800lib
Run Code Online (Sandbox Code Playgroud)
如果lsmod输出未确认(尽管服务退出代码为0/SUCCESS),则意味着在由modules-load.service. 一个可能的原因是另一个*.conf将模块列入黑名单的文件。寻找如下一行:
blacklist rt2800usb
Run Code Online (Sandbox Code Playgroud)
in /etc/modprobe.d/*.conf,/usr/lib/modprobe.d/*.conf或将/run/modprobe.d/*.conf其注释掉/删除。
要在启动时加载模块,请在/etc/modules-load.d/; 中创建一个文件。此文件可以有任何名称,但必须以.conf. 例如,对于您的 wifi 驱动程序,您可以创建文件/etc/modules-load.d/rt2800.conf.
在文件中,添加一行包含要加载的模块的名称,如下所示:
rt2800usbRun Code Online (Sandbox Code Playgroud)
内核模块的 Arch Wiki 页面有更多信息。
| 归档时间: |
|
| 查看次数: |
72328 次 |
| 最近记录: |