Linuxは初めてという人は、「なぜ独自のカーネルを構築する必要があるのだろうか」という疑問をよく抱きます。現在ではカーネルモジュールが改善されているので、この疑問に対する最も正確な答えは次のようになるでしょう。「今、独自のカーネルを構築する必要性を感じていなければ、構築しなくてもよい。」
以前は、システムに新しいハードウェアを追加した場合にはカーネルを再コンパイルする必要がありました。つまり、カーネルは静的なものでした。しかし、Linux 2.0.xではカーネルが改良され、ハードウェアドライバの多くをコンポーネントとしてモジュール化でき、要求があった場合にのみ組み込めるようになりました。しかしそれでも、システムについての設定オプションを変えて(たとえば、SMPカーネルとUPカーネル)コンパイルされたカーネルが複数ある場合には問題がありました。ところが、Linux 2.4.xのカーネルモジュール化方式がさらに改良され、複数モジュールの共存が容易になりました(ただしモジュールを共有することはできません)。
カーネルモジュールの取り扱いについては、the section called カーネルモジュールのロードを参照してください。このようにカーネルモジュールの処理方法は変遷してきましたが、これに気づくことはほとんどないでしょう。気づくのは、システムに合わせてカーネルをカスタマイズし再コンパイルするときぐらいです。
現在、Red Hat Linuxのカーネルは、2.4です。Red Hat Linuxと共に出荷されている2.4カーネルの特徴は、次のとおりです。
カーネルソースのディレクトリは、/usr/src/linuxから/usr/src/linux-2.4に変わりました。
SMP対応の強化
64ギガバイトまでの物理メモリに対応— Red Hat Linux 7.1でインストールされるエンタープライズカーネルは、64ギガバイトまでの物理メモリに対応するようにコンパイルされています。
マルチメディアサポートの改善。ESS Allegroサウンドカード用にmaestro3モジュールなど。
USBサポートの改善。
IEEE 1394デバイスに対応。このインターフェイスは、FireWireTM とも呼ばれています。