Systemd
systemd:在引導時自動執行 modprobe 命令
我的發行版是 Fedora 17 Gnome。每次我重新啟動/重新啟動電腦時,我都需要以 root 身份執行此命令:
modprobe rt2800usb
我怎樣才能讓它永久化?
在任何使用的發行版上,
systemd
您都可以通過以下方式自動載入模組modules-load.d
:
- 創建配置文件:
/etc/modules-load.d/rt2800usb.conf
- 打開它並像這樣編輯(添加模組名稱):
rt2800usb
- 下次重啟模組應該會自動載入
故障排除:
檢查
systemd
服務是否載入了模組:systemctl status systemd-modules-load.service
輸出應如下所示:
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)
最後一行包含
PID
(程序 ID)和退出程式碼。status=0/SUCCESS
表示模組已成功插入,通過以下方式確認:journalctl -b _PID=260
輸出為:
Apr 03 22:50:57 mxhst systemd-modules-load[260]: Inserted module 'rt2800usb'
如果失敗,
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)
帶
journalctl -b
報告:Apr 03 22:50:59 mxhst systemd-modules-load[260]: Failed to find module 'fakert2800usb'
當退出程式碼為時
0/SUCCESS
,表示您的模組已成功插入;跑步lsmod | grep rt2800
應確認:
rt2800usb 26854 0 rt2x00usb 19757 1 rt2800usb rt2800lib 64762 1 rt2800usb rt2x00lib 66520 3 rt2x00usb,rt2800lib,rt2800usb mac80211 578735 3 rt2x00lib,rt2x00usb,rt2800lib
如果
lsmod
輸出未確認(儘管服務退出程式碼為0/SUCCESS
),則意味著在被modules-load.service
. 一個可能的原因是將模組列入黑名單的另一個*.conf
文件。尋找如下一行:blacklist rt2800usb
在
/etc/modprobe.d/*.conf
,/usr/lib/modprobe.d/*.conf
或/run/modprobe.d/*.conf
並註釋掉/刪除它。