「カーネルモジュール」の編集履歴(バックアップ)一覧はこちら
「カーネルモジュール」(2012/06/30 (土) 21:37:18) の最新版変更点
追加された行は緑色になります。
削除された行は赤色になります。
カーネルモジュールは、カーネルを構成する機能を分離してモジュール化したもの。
モジュール化することによって、カーネル本体のサイズが小さくなり起動までの時間が短縮できる。
また使わないデバイスのドライバを外すことで、カーネルの利用するメモリを節約できる。
ただしメモリ管理やスケジューラなどの核となる部分は分離できない。
カーネルモジュールが配置されているディレクトリは&bold(){「/lib/modules/カーネルバージョン」}以下のディレクトリにある。
カーネルモジュールを操作するコマンド
----
[[lsmod]] ~ ロードされているモジュールを一覧表示する
----
[[modinfo]] ~ モジュールの情報を表示する
----
[[insmod]] ~ ローダブルモジュールをロードする
----
[[rmmod]] ~ ロードされているモジュールをアンロードする
----
[[modprobe]] ~ モジュールのロード・アンロードする
----
[[depmod]] ~ moudules.depファイルを作成する
----
「 modules.depファイル 」にはmodprobeコマンドが参照するモジュールの依存関係が記述されている。
&bold(){modules.dep の書式}
モジュールのパス:依存するモジュールのパス
モジュールAは、モジュールBとモジュールCが必要
/lib/modules/~/A.ko: /lib/modules/~/B.ko /lib/modules/~/C.ko
モジュールBはモジュールCが必要
/lib/modules/~/B.ko: /lib/modules/~/C.ko
Linuxでは、ほとんどのドライバがモジュール化され、必要に応じて組み込んだり、取り外したりできるようになっている。
この組み込み作業を自動化するために、どのデバイスを使う際にどのモジュールドライバが必要になるかを
指定するためのファイルが&bold(){「/etc/modprobe.conf」}
カーネル2.4までは「/etc/modules.conf」で行っていたが、カーネル2.6では「/etc/modprobe.conf」に変更されている。
(カーネル2.2では「/etc/conf.modules」)
モジュールをロード・アンロードをする時に前処理・後処理が必要な場合や
モジュールをロードする際にパラメータを指定する場合は、「 /etc/modprobe.conf 」で設定する
&bold(){/etc/modprobe.confファイルの書式}
例> alias eth0 3c59x
ファイル内のコマンド エイリアス名 モジュール
ファイル内のコマンド
alias ~ モジュールのエイリアス名(別名)を指定
options ~ モジュールのオプションを指定
install ~ 指定されたシェルコマンドを実行
remove ~ modprobe -r が実行された時にシェルコマンド実行
include ~ 他の設定ファイルまたはディレクトリ全体を読み込むことができる。
読み込まれたファイル中のエイリアス名は現在のファイルで定義されたエイリアス名を上書きする。
カーネルモジュールは、カーネルを構成する機能を分離してモジュール化したもの。
モジュール化することによって、カーネル本体のサイズが小さくなり起動までの時間が短縮できる。
また使わないデバイスのドライバを外すことで、カーネルの利用するメモリを節約できる。
ただしメモリ管理やスケジューラなどの核となる部分は分離できない。
カーネルモジュールが配置されているディレクトリは&bold(){「/lib/modules/カーネルバージョン」}以下のディレクトリにある。
カーネルモジュールを操作するコマンド
----
[[lsmod]] ~ ロードされているモジュールを一覧表示する
----
[[modinfo]] ~ モジュールの情報を表示する
----
[[insmod]] ~ ローダブルモジュールをロードする
----
[[rmmod]] ~ ロードされているモジュールをアンロードする
----
[[modprobe]] ~ モジュールのロード・アンロードする
----
[[depmod]] ~ moudules.depファイルを作成する
----
「 modules.depファイル 」にはmodprobeコマンドが参照するモジュールの依存関係が記述されている。
&bold(){modules.dep の書式}
モジュールのパス:依存するモジュールのパス
モジュールAは、モジュールBとモジュールCが必要
/lib/modules/~/A.ko: /lib/modules/~/B.ko /lib/modules/~/C.ko
モジュールBはモジュールCが必要
/lib/modules/~/B.ko: /lib/modules/~/C.ko
Linuxでは、ほとんどのドライバがモジュール化され、必要に応じて組み込んだり、取り外したりできるようになっている。
この組み込み作業を自動化するために、どのデバイスを使う際にどのモジュールドライバが必要になるかを
指定するためのファイルが&bold(){「/etc/modprobe.conf」}
カーネル2.4までは「/etc/modules.conf」で行っていたが、カーネル2.6では「/etc/modprobe.conf」に変更されている。
(カーネル2.2では「/etc/conf.modules」)
モジュールをロード・アンロードをする時に前処理・後処理が必要な場合や
モジュールをロードする際にパラメータを指定する場合は、「 /etc/modprobe.conf 」で設定する
&bold(){/etc/modprobe.confファイルの書式}
ファイル内のコマンド エイリアス名 モジュール
例> alias eth0 3c59x
ファイル内のコマンド
alias ~ モジュールのエイリアス名(別名)を指定
options ~ モジュールのオプションを指定
install ~ 指定されたシェルコマンドを実行
remove ~ modprobe -r が実行された時にシェルコマンド実行
include ~ 他の設定ファイルまたはディレクトリ全体を読み込むことができる。
読み込まれたファイル中のエイリアス名は現在のファイルで定義されたエイリアス名を上書きする。
表示オプション
横に並べて表示:
変化行の前後のみ表示: