6.52. Kmod-9

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

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

6.52.1. Kmod のインストール

x86 ホスト上にてテストスイートを実行する際に問題が発生するため、これを修正するパッチを適用します。

patch -Np1 -i ../kmod-9-testsuite-1.patch

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

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

configure オプションの意味:

lib* と --with-*

これらのオプションは、Kmod が圧縮されたカーネルモジュールを取り扱えるようにするものです。 シェル変数は、pkg-config が無くても、xz や zlib のヘッダーあるいはライブラリを見出せるようにするために必要になります。

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

make

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

make check

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

make pkgconfigdir=/usr/lib/pkgconfig 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, kmod-nolib, lsmod (kmod へのリンク), modinfo (kmod へのリンク), modprobe (kmod へのリンク), rmmod (kmod へのリンク)
インストールライブラリ: /lib/kmod.so

概略説明

depmod

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

insmod

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

kmod

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

libkmod

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

lsmod

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

modinfo

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

modprobe

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

rmmod

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