31.7. 永続的なモジュールの読み込み
例31.1「lsmod を使用したカーネルモジュール情報の一覧表示」 で示されているように、多くのカーネルモジュールは、システムの起動時に自動的に読み込まれます。読み込む追加のモジュールを指定するには、
/etc/sysconfig/modules/
ディレクトリーに新しい < file_name > .modules ファイルを作成します
。ここで、< file_name > は任意の説明的な名前です。< ;file_name > .modules
ファイルはシステム起動スクリプトがシェルスクリプトとして扱われ、そのためには最初の行として インタープリターディレクティブ ( 「bang 行」とも呼ばれます)で開始する必要があります。
例31.6 file_name.modules ファイルの最初の行
#!/bin/sh
さらに、<
file_name> .modules
ファイルは実行可能である必要があります。以下を実行して実行可能にします。
modules]# chmod +x <file_name>.modules
たとえば、以下の
bluez-uinput.modules
スクリプトは uinput
モジュールを読み込みます。
例31.7 /etc/sysconfig/modules/bluez-uinput.modules
#!/bin/sh if [ ! -c /dev/input/uinput ] ; then exec /sbin/modprobe uinput >/dev/null 2>&1 fi
3 行目の
if
-conditional ステートメントは、/dev/input/uinput
ファイルが存在し ない ことを確認します(この条件は !
記号を否定)し、その場合は exec /sbin/modprobe uinput
を呼び出すことで uinput モジュールをロードします。uinput
モジュールは /dev/input/uinput
ファイルを作成するため、そのファイルが存在するかどうかをテストし、uinput
モジュールがカーネルに読み込まれているかどうかを検証します。
その行の最後 にある以下の >/dev/null 2>&1 句は、その行の最後で出力を
/dev/null
にリダイレクトすることで、modprobe コマンドが quiet のままになるようにします。