おそらく、カーネルに理解できないパラメータを渡しました。たとえば、blabla
やeat=cake
、カーネルはこれらの未知のパラメーターで何をしますか、従来のケースでは、Linuxカーネルが初期のユーザースペース(initramfs)で開始する場合、未知のパラメーターをinit
に渡します。 /init
initramfsで?
カーネルドキュメント から:
カーネルは、カーネルコマンドラインから
--
までのパラメーターを解析します。パラメータを認識せず、.
が含まれていない場合、パラメータはinitに渡されます。=
のパラメータはinitの環境に入り、その他はコマンドライン引数としてinitに渡されます。--
の後のすべては、initへの引数として渡されます。
これは、initramfsの/init
にも当てはまります。ソースコードでは、initramfsの/init
と最終ルートの/sbin/init
(または他の場所)の両方が、 run_init_process
を介して呼び出されます。同じ引数(実行可能ファイルへのパスである引数0を除く)。ドキュメントに記載されているものは見つかりませんが、カーネルインターフェイスは安定しているため、これは変更されません。
これは、initrdの/linuxrc
には適用されないことに注意してください。これは引数なしで呼び出されますが、/init
および/sbin/init
と同じ環境で呼び出されます。 procファイルシステムをマウントし、/proc/cmdline
を読み取って、カーネルコマンドライン引数を確認できます。