スプラッシュがカーネルパラメータリストにはありませんが、実行できるのはなぜですか?

スプラッシュがカーネルパラメータリストにはありませんが、実行できるのはなぜですか?

これGRUB自動起動説明する:

スプラッシュ画面(/boot/grub/grub.cfgで終わる)のため、スプラッシュ画面が表示されます。

同時に、起動プロセスが静かになりたいです。そうでなければ、あらゆる種類のメッセージがスタート画面を台無しにします。

GRUBで指定されていますが、これはGRUBの動作を変更するパラメータではなく、カーネルまたはそのモジュールのロードに影響を与えるカーネルパラメータです。

しかし、私はsplash見つかりませんでした。https://www.kernel.org/doc/html/v5.0/admin-guide/kernel-parameters.htmlしかし、AFAIKはカーネル5+ベースの最新のディストリビューションで動作します。なぜ?

答え1

カーネルで認識されない起動オプションを指定してもエラーは発生しません。不明なブートパラメータは、にリストされているパラメータ以外のカーネルには影響しません/proc/cmdline。これにより、initramfsスクリプトまたは他のユーザースペースプログラムがそれらを見つけて動作を変更するために使用できます。

init何でも(SysVinit、systemd、またはその他)未知の起動パラメータもプロセスに渡されます。実際にsingleSysVinitシステムをシングルユーザーモードで起動しsystemd.unit=emergency.targetたりsystemd、。

ディストリビューションが起動ソフトウェアを起動するためにユーザースペースを使用する場合。plymouth、カーネルはすべてのsplash/nosplashブートオプションを「転送」し、/proc/cmdlineinitramfsplymouthで確認します。

ディストリビューションには、追加のブートオプションとしてinitramfsジェネレータパッケージによって実装された追加のトラブルシューティング/修復機能があります。 Debian/Ubuntu および関連ディストリビューションで最新の RedHat/Fedoraman 7 initramfs-toolsのパッケージによって生成された initramfs ファイルに関するブートオプションのリストについては、リファレンスを参照してください。initramfs-toolsman dracut

答え2

最近、Linux(実際には10年前のFedora 10から始まるFedora、10.04から始まるUbuntuなど)は、ブート時に一部のブートイメージをロードするためにカーネル独自の機能を使用せずに含まれるinitramfsに依存しています。起動中に何かを表示するには、カーネル直接レンダリングマネージャまたはフレームバッファデバイスを使用します。

ほぼすべてのシステムでは、ソフトウェアはplymouth、 grub からカーネルに渡されたコマンドラインを読んで何をすべきか(何をしないべきか)推論することができます。

関連情報