systemd:起動時に自動的にmodprobeコマンドを実行します。

systemd:起動時に自動的にmodprobeコマンドを実行します。

私のディストリビューションはFedora 17 Gnomeです。コンピュータを再起動/再起動するたびに、rootとして次のコマンドを実行する必要があります。

modprobe rt2800usb

どのように永久に作ることができますか?

答え1

すべてのディストリビューションで、次のモジュール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。 1つの考えられる原因は、他の*.confファイルがモジュールをブラックリストに載せることです。次の行を探してください。

blacklist rt2800usb

/etc/modprobe.d/*.conf/usr/lib/modprobe.d/*.confまたはで/run/modprobe.d/*.confコメントを外してください。

答え2

起動時にモジュールをロードするには、から/etc/modules-load.d/ファイルを生成できます。ファイル名は何でも可能ですが、で終わる必要があります.conf。たとえば、wifiドライバの場合はファイルを生成できます/etc/modules-load.d/rt2800.conf

ファイルに次のようにロードするモジュール名を含む行を追加します。

rt2800usb

アーチウィキページカーネルモジュールより多くの情報があります。

関連情報