Linux 2.4.0 - ディスクレスインストール用のルートファイルシステムを作成する方法

Linux 2.4.0 - ディスクレスインストール用のルートファイルシステムを作成する方法

私は Linux の非常に古いビルド (バージョン 2.4.0) を持っています。これは非常に特殊な古いハードウェア用なので、なぜこのような古いバージョンを持っているのかは聞かないでください。とにかく、問題は、コンパイルが成功した後にシステムを実行しようとすると、このメッセージが表示されることです。

カーネルパニック:ルート権限がないので叫びたい

問題は、おそらく初期 RAM ディスク (initrd) 生成技術によって生成された「ルート ファイルシステム」が必要であるということのようです。どうすればこれを修正できますか?

答え1

カーネルに起動に必要なすべてのドライバーとファイルシステムのサポートが含まれている場合、initrd は必要ありません。ただし、root=カーネル パラメーターを使用して、ルート ファイルシステムがどこにあるかをカーネルに伝える必要があります。例root=/dev/sda1:

答え2

rootfs を「作成」する必要はありません。カーネルが initrd なしで起動された場合、ルート デバイスにアクセスするために必要なドライバーを使用して init をコンパイルする必要があります。どのデバイスが使用されるか (デフォルトでは) はカーネルにハードコードされています。これはカーネル コマンド ラインで上書きできます。例root=/dev/sda2:

initrd を使用する場合、initrd は自動的に rootfs になり、initrd プロセスは後で実際の rootfs に chroot します (カーネル パラメータと、場合によってはいくつかのデフォルトを使用)。

関連情報