2. kerneld とは?

この文書で紹介する kerneld というプログラムは、Bjorn Ekwall によって、 開発版カーネル 1.3 の配布当時に導入されました。kerneld を使うと、 デバイスドライバやネットワークドライバ、ファイルシステムなどの カーネルモジュールが必要に応じて自動的にロードされるようになります。 それゆえ、modprobeinsmod コマンドを使い、手動でモジュールをロードする必要がなくなります。

また、安定版カーネルには(今のところ?)組み込まれてはいませんが、 次のような面白い機能もあります。

kerneld は、次のふたつのコンポーネントから構成されています。

kerneld の機能を働かせるには、両方のコンポーネントが動いて いなければなりません。片方だけの設定では不十分です。

2.1. 何故 kerneld を使うのか?

kerneld を使うべき理由はいくつかあります。ここでは、著者自身が考える 理由を述べますが、他の人にとっては他の理由があるかもしれません。

とはいえ、読者が kerneld を使いたくない事情というのもあるでしょう。必要 なすべてのドライバを組み込んだ単一のカーネルイメージのほうがいい場合は、 他の文書をあたってください。

2.2. ファイルの入手先

Linux カーネルでの kerneld サポートは、カーネル 1.3.57 で導入されました。 もしそれ以前のカーネルバージョンを使っている場合、kerneld 機能を有効に するにはカーネルのアップグレードが必要です。最新版の Linux カーネル ソースは以下のサイトから入手できますが、Linux FTP アーカイブサイト ならたいていどこででも手に入ります。

ユーザ空間デーモンは、modules パッケージに 同梱されています。通常これらはカーネルソースと同じ場所に置かれて います。

Note: 最新版カーネルでモジュールの自動ロードを利用しようとしている場合は、 なるべく新しい modutils パッケージを 使い、modules パッケージは使わないでください。 その際は、必ずカーネルソース付属の Documentation/Changes ファイルをチェックして、 お使いのカーネルイメージが必要とするパッケージがどのバージョン以降 なのかを確認してください。また、FAQ に記述した、モジュールと 2.1 カーネルでの問題についてもご覧 ください。