現在、Linuxの起動プロセスについて学習しています。ここで、initrdがカーネルに必要なドライバー(LVM、NFSなど)を含む一時的なルートファイルシステムを作成することに気付きました。その後、カーネルはそのドライバーを利用してマウントします。実際のルートファイルシステム。
ここで私の質問は、カーネル自体に必要なドライバーを含めるべきではない理由と、それがinitrdに依存する理由です。
カーネル内にドライバーを埋め込みたい場合はそうではありません。カスタムカーネル構成の使用に役立つ優れたソースベースのLinuxディストリビューションはGentoo
です。または、現在のディストリビューションパッケージマネージャーを使用してLinuxカーネルソース(通常は開発およびヘッダーパッケージ)を取得し、 make config
は、ターゲットシステムに必要なハードウェアをステップスルーし、各値をM
から*
に変更します。
より詳細な手順は ドキュメント にあります。