連載
» 2019年01月10日 05時00分 公開

Linux基本コマンドTips(271):【 insmod 】コマンド――カーネルモジュールをロードする

本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、カーネルモジュールをロードする「insmod」コマンドです。

[西村めぐみ,@IT]
「Linux基本コマンドTips」のインデックス

Linux基本コマンドTips一覧

 本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、カーネルモジュールをロードする「insmod」コマンドです。

insmodコマンドとは?

 「insmod」はカーネルモジュール(モジュール)をロードするコマンドです。

 Linuxカーネルの機能の一部を、カーネル本体とは別にロード、アンロードできるように分離したバイナリファイルをモジュールと呼びます。多くの場合、ハードウェアにアクセスし、操作するためのドライバ部分がモジュールとなっています。

 ドライバ自体をカーネルに組み込む古い方式では、ハードウェア構成を変更した場合に、カーネルの再構築が必要になります。現在では、ほとんどのデバイスドライバがモジュールとして提供されているため、ハードウェア構成変更後は、必要なモジュールをロードしてカーネルに組み込むだけで対応できるようになっています。

 なお、コマンドラインでモジュールをロードする際は、insmodコマンドよりも、「modprobe」コマンド(連載第269回)を使う方がよいでしょう。「modprobe」コマンドは、モジュール同士の依存関係を確認し、必要なモジュールがあれば自動的にロードします。さらにモジュールをファイル名ではなくモジュール名で指定できるため、より手軽になります。



insmodコマンドの書式

insmod モジュールファイル名 [モジュールのオプション]

※[ ]は省略可能な引数を示しています。





insmodの主なオプション

 insmodのオプションは、バージョンを表示する「-V」(--version)とヘルプを表示する「-h」(--help)の2つだけです。



カーネルモジュールをロードする

 「insmod モジュールファイル名」でモジュールをロードします。正常にロードできた場合、メッセージを表示しません(画面1)。

 既にロードされているモジュールをロードしようとした場合は、エラーメッセージを表示します(画面2)。

コマンド実行例

insmod モジュールファイル名

(モジュールをロードする)


画面1 画面1 モジュールをロードしたところ
画面2 画面2 ロード済みのモジュールを再度ロードしようとしたところ


依存するカーネルモジュールがある場合

 モジュールの動作に必要な別のモジュール(依存するモジュール)がロードされていない場合、insmodコマンドはエラーメッセージを表示し、ロードを中断します(画面3)。

 どのモジュールが必要なのかを確認するには、「modprobe」コマンドの「-D」オプションを使います。なお、「modprobe モジュール名」では、依存モジュールがあったとしても、自動的に対応します。

 なお、現在ロードされているモジュールは「lsmod」コマンド(第267回)で確認できます。

画面3 画面3 依存関係があるモジュールに対処したところ


筆者紹介

西村 めぐみ(にしむら めぐみ)

PC-9801NからのDOSユーザー。PC-486DX時代にDOS版UNIX-like toolsを経てLinuxへ。1992年より生産管理のパッケージソフトウェアの開発およびサポート業務を担当。著書に『図解でわかるLinux』『らぶらぶLinuxシリーズ』『Accessではじめるデータベース超入門[改訂2版]』『macOSコマンド入門』など。2011年より、地方自治体の在宅就業支援事業にてPC基礎およびMicrosoft Office関連の教材作成およびeラーニング指導を担当。


Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。