Tag List for insmod

ドライバのロード・アンロード

ドライバをビルドしただけでは、まだそのドライバは使えません。 使えるようにするためには、ドライバをロードしてやる必要があります。 ドライバのロードはinsmodコマンドにより行います。 koファイルがあるディレクトリに移動し、下記コマンドを実行します。 # insmod hello.ko ドライバのロードはランレベル3以降でも行えます。 それはつまり、OSの再起動なしにドライバのロード・アンロードができるということです。 ただし、insmodコマンドはroot権限で実行する必要があります。 ドライバが正常にロードされたかどうかの確認はlsmodコマンドで行えます。 # lsmod Module Size Used by hello 5504 0   ~以下省略~   lsmodコマンドは現在ロードされているカーネルモジュールを出力します。 ドライバはカーネルモジュールに含まれるので、正常にロードできていれば出力されます。 lsmodコマンドで確認できる内容は下記表になります。 列名意味 Moduleドライバ名 Sizeメモリ上のドライバサイズ Used参照カウンタ by依存ドライバ ドライバのアンロードはrmmodコマンドにより行います。 # rmmod hello rmmodコマンドで指定するパラメータはドライバファイル名ではなく、ドライバ名となります。 ドライバ名はlsmodコマンドのModule列で確認できます。 ドライバのロードはinsmodコマンドだけでなく、modprobeコマンドでも行えます。 insmodコマンドはカレントディレクトリにあるドライバをロードするためのものです。 それに対し、modprobeコマンドは「/lib/modules/`uname -r`」からドライバを探します。 modprobeコマンドはLinux起動時に自動的にドライバをロードさせたいときなど、rcスクリプトでよく使用されます。