新しいカーネルをコンパイルし、自分自身に尋ねました。コンパイルプロセス中に、カーネルに静的に組み込まれているカーネルモジュールは何によって決まりますか
次に、/lib/modules
を削除して再起動すると、システムが正常に動作していることがわかりました。そのため、すべての重要なモジュールがカーネルに静的に構築されているようです。
/lib/modules
がない場合、カーネルは22をロードします。ディレクトリが存在する場合、カーネルは67のモジュールをロードします。
これは、通常make config
、make menuconfig
などを実行するときに、構成プロセスの一部として行います。モジュールは、組み込み(*
とマーク)またはモジュール化(M
とマーク)として設定できます。
この例は、make menuconfig
のスクリーンショットで here から確認できます。
/kernel
に加えてタグ/linux-kernel
を追加したことを考えると、一般的なケースにも関心があると思います。
Solarisでは、1991年以降、基本的なカーネルグルーコード、デフォルトのスケジューラ、およびポケットベル/スワップを除いて、すべてが動的にロードされます。
ルートファイルシステムコードとモジュールローダーでさえ動的にロードされます。
これにより、カーネルを手動で構成する必要がなくなります。 Solarisがサイズに依存する機能も構成する必要がない場合(十分なメモリがある限り、新しいカーネルオブジェクトは実行時に自動的に作成されます)、Solarisで手動で構成する必要はありません。
Linuxがいつこの自動化状態に達するのか疑問に思っています...しかし、理論的に不要なカーネル構成(Solarisを参照)がユーザーにhey, you are able to control the linux kernel
を伝える面白い方法として使用されているため、これは決して起こらないと思います。