コンフィグレーションでカーネルがサポートする内容を指定します。不要な項目が多いほどリソースを浪費します。新たに追加したハードウェアを認識させるためのパッチとコンフィグレーションについて解説しています。
通常のアップグレードを行うのであれば、以前のカーネルの設定を継承すればよいので、読み飛ばして下さい。
設定は以下の3つの選択肢があります。[Y][N]の説明の必要は無いと思いますが、重要なのがモジュールとして対応する場合です。
[Y] 機能を有効にする場合
[M] モジュールとして埋め込む
[N] 無効にする
この場合、カーネルそのものに組み込まれず、外部モジュールとして機能を提供します。必要に応じてON OFFができるので、資源を節約することが出来ます。今後必要と思われるものがあれば、あらかじめモジュールとして組み込んでおくと
insmod / delmod で有効、無効を切り替えることが出来るので新たにカーネルを再構築する手間が省けます。
ハードウェアの確認を行うには以下のコマンドを実行します。
現在認識しているハードウェアに関する情報が表示されます。
00:00.0 Host bridge: Intel Corporation 440BX/ZX - 82443BX/ZX Host bridge (rev 03)
00:01.0 PCI bridge: Intel Corporation 440BX/ZX - 82443BX/ZX AGP bridge (rev 03)
00:07.0 ISA bridge: Intel Corporation 82371AB PIIX4 ISA (rev 02)
00:07.1 IDE interface: Intel Corporation 82371AB PIIX4 IDE (rev 01)
00:07.2 USB Controller: Intel Corporation 82371AB PIIX4 USB (rev 01)
00:07.3 Bridge: Intel Corporation 82371AB PIIX4 ACPI (rev 02)
00:09.0 Unknown mass storage controller: Promise Technology, Inc.: Unknown device 4d69 (rev 02)
00:0a.0 Ethernet controller: Digital Equipment Corporation DECchip 21140 [FasterNet] (rev 22)
00:0b.0 Multimedia audio controller: Ensoniq ES1371 [AudioPCI-97] (rev 06)
01:00.0 VGA compatible controller: nVidia Corporation Riva TnT 128 [NV04] (rev 04)
青地で示したのがマザーボードのオンボード上にあるデバイスです。赤で示したハードウェアデバイスが認識していない事がわかります。この状態では認識させる事は出来ません。
kernelで対応していない最新のハードウェアを認識させる場合など、カーネルソースにパッチを当てて対応させる事が出来ます。出たばかりのハードウェアの対応情報は国内ではなかなか見つかりません。最新のハードウェアは避けた方がよいと言われるのはこのためです。
海外のMLなどLinuxについて議論が行われているサイトを探し回る事をお勧めします。
ハードウェアだけでなく、Kernel に依存するサービスも多くあります。
など
コンフィグレーションで設定された内容はカーネルソースディレクトリ内の .config ファイルに保存されます。カーネルバージョンアップに伴い、一から設定を行うのは面倒なので、以前の.config ファイルを置き換えることで現在の設定を継承する事が可能です。今回はソースファイルを使用しますが、TurboLinux6のカーネルソースディレクトリは
/usr/src/linux-2.2.16
になります。ここに.configファイルがありますので、これらの設定を引き継ぐ場合を説明します。
今回展開したカーネルソースディレクトリで以下を実行します。
これで、起動すると2.4.18で新たに追加された項目のみをどうするか質問されるのでそれに答えるとOKです。
今後カーネルの再構築を行うのであれば、ソースディレクトリは
/home/taro/kernel-2.4.18/linux
になります。コンフィグレーションが終了したら、カーネルをコンパイルします。