6.52. Kmod-16

Kmod パッケージは、カーネルモジュールをロードするためのライブラリやユーティリティーを提供します。

概算ビルド時間: 0.1 SBU
必要ディスク容量: 34 MB

6.52.1. Kmod のインストール

Kmod をコンパイルするための準備をします。

./configure --prefix=/usr          \
            --bindir=/bin          \
            --sysconfdir=/etc      \
            --with-rootlibdir=/lib \
            --disable-manpages     \
            --with-xz              \
            --with-zlib

configure オプションの意味:

--with-xz, --with-zlib

これらのオプションは、Kmod が圧縮されたカーネルモジュールを取り扱えるようにするものです。

--disable-manpages

このオプションは man ページをビルドしないようにします。 libxslt パッケージに依存するものであり、chroot 環境では利用できないためです。

--with-rootlibdir=/lib

このオプションは、他のライブラリに関連するファイルが適切なディレクトリに配置されるようにします。

パッケージをコンパイルします。

make

コンパイル結果をテストする場合は以下を実行します。

make check

パッケージと man ページをインストールします。 また Module-Init-Tools パッケージとの互換性を保つためにシンボリックリンクを生成します。 Module-Init-Tools パッケージは、これまで Linux カーネルモジュールを取り扱っていたものです。 ライブラリはすべて適切なディレクトリに配置します。

make install
make -C man install

for target in depmod insmod modinfo modprobe rmmod; do
  ln -sv ../bin/kmod /sbin/$target
done

ln -sv kmod /bin/lsmod

6.52.2. Kmod の構成

インストールプログラム: depmod (kmod へのリンク), insmod (kmod へのリンク), kmod, lsmod (kmod へのリンク), modinfo (kmod へのリンク), modprobe (kmod へのリンク), rmmod (kmod へのリンク)
インストールライブラリ: libkmod.so

概略説明

depmod

存在しているモジュール内に含まれるシンボル名に基づいて、モジュールの依存関係を記述したファイル (dependency file) を生成します。 これは modprobe が、必要なモジュールを自動的にロードするために利用します。

insmod

稼動中のカーネルに対してロード可能なモジュールをインストールします。

kmod

カーネルモジュールのロード、アンロードを行います。

lsmod

その時点でロードされているモジュールを一覧表示します。

modinfo

カーネルモジュールに関連付いたオブジェクトファイルを調べて、出来る限りの情報を表示します。

modprobe

depmod によってモジュールの依存関係を記述したファイル (dependency file) が生成されます。 これを使って関連するモジュールを自動的にロードします。

rmmod

稼動中のカーネルからモジュールをアンロードします。

libkmod

このライブラリは、カーネルモジュールのロード、アンロードを行う他のプログラムが利用します。