
ちょうど新しいカーネルをコンパイルし、自分に質問しました。コンパイル中にどのカーネルモジュールがカーネルに静的に組み込まれているかを判断するにはどうすればよいですか?
その後、それをアンインストールして再/lib/modules
起動した後、システムが正常に動作していることを確認しました。したがって、必要なすべてのモジュールがカーネルに静的に組み込まれているように見えました。
それ以外の場合、/lib/modules
カーネルは22個のモジュールをロードします。ディレクトリが存在する場合は、67個のモジュールをロードします。
答え1
構成中に通常ランタイムまたはmake config
同様のmake menuconfig
。モジュールを内蔵(でマーク*
)またはモジュール式(でマークM
)に設定できます。
make menuconfig
スクリーンショットでこれの例を見ることができます。ここ:
答え2
/kernel
他にタグを追加したことを考慮すると、/linux-kernel
一般的なケースにも興味があるとします。
1991年以来、Solarisでは、デフォルトのカーネルグルーコード、デフォルトのスケジューラ、およびポケットベル/スワップを除くすべてが動的にロードされました。
ルートファイルシステムコードとモジュールローダも動的にロードされます。
これにより、カーネルを手動で構成する必要がなくなります。 Solarisではサイズ固有の機能構成は必要ないため、手動構成は必要ありません(十分なメモリーを使用できる限り、実行時に新しいカーネルオブジェクトが自動的に作成されます)。
Linuxがいつこの自動化状態に達するのか疑問に思いますが、理論的に不要なカーネル構成(Solarisを参照)がユーザーにとって興味深い方法で使用されるため、決して起こらないと思いますhey, you are able to control the linux kernel
。