8.2. なぜカスタムカーネルを作るか?

伝統的に、FreeBSD のカーネルは “モノリシック” (monolithic) カーネルと呼ばれるものでした。 これは、カーネルが単一の巨大なプログラムで、 扱えるデバイスは固定されていて、 カーネルの振る舞いを変えたければ新しいカーネルを構築して、 コンピュータを再起動して新しいカーネルを動かさなれければならなかった ということです。

今日では FreeBSD は、カーネルの機能のかなりが必要に応じて動 的にカーネルに組み込んだり外したりできるモジュールにおかれている モデルへと、急速に移行しています。こうしてカーネルは (ノート PC の PCMCIA カードのように) 突如使えるようになったハードウェアに対 応したり、カーネルが作成された時点では必要なかった新たな機能を取 り入れられるようになります。くだけた表現では、これは KLD と呼ば れます。

しかしながら、いまだにいくらかは静的にカーネルを構成する必要 があります。ある場合においては、機能がカーネルとあまりに密接に結 びついているため、動的に組み込むことができません。ほかには、単に まだ誰もその機能に対する組み込み可能なカーネルモジュールを書く時 間をとっていないだけということもあります。

システムに合わせたカーネルの構築はほとんどすべての Unix ユーザが 避けて通ることのできない最も重要な通過儀礼の1つです。 この作業は、多くの時間を必要としますが、あなたの FreeBSD システムに多くの利益をもたらします。 広範囲のハードウェアをサポートしなければならない GENERICカーネルとは異なり、 システムに合わせたカーネルは あなたの PC のハードウェアのみをサポートします。これは、 次にあげるような利益をもたらします。