Linux

為什麼 splash 不在核心參數列表中但有效?

  • November 4, 2021

這個GRUB Quiet Splash說:

啟動畫面(最終出現在您的 /boot/grub/grub.cfg 中)會導致顯示啟動畫面。

同時,您希望引導過程保持安靜,否則各種消息都會破壞啟動畫面。

儘管在 GRUB 中指定了這些是影響核心或其模組載入的核心參數,但不會改變 GRUB 行為。

但是,我沒有splashhttps://www.kernel.org/doc/html/v5.0/admin-guide/kernel-parameters.html上找到,但是 AFAIK 它適用於基於核心 5+ 的現代發行版。為什麼?

如果您指定了核心無法辨識的引導選項,則不會導致錯誤:未知的引導參數對核心沒有影響,除了在/proc/cmdline. 然後 initramfs 腳本或其他使用者空間程序可以查找它並使用它來修改它們的行為。

未知的引導參數也是init程序的密碼,無論它是什麼(無論是 SysVinit、systemd 還是其他)。事實上,這就是故障排除/恢復引導選項的工作方式,例如single將 SysVinit 系統引導到單使用者模式,或者systemd.unit=emergency.target在具有systemd.

如果您的發行版使用使用者空間啟動啟動軟體,如plymouth,核心只是“通過”任何splash/nosplash啟動選項到/proc/cmdline,並plymouth在 initramfs 中檢查它。

您的發行版可能具有其他故障排除/恢復功能,由 initramfs 生成器包實現為額外的引導選項。在 Debian/Ubuntu 和相關發行版中,請參閱man 7 initramfs-tools獲取特定於initramfs-tools軟體包創建的 initramfs 文件的引導選項列表;在現代 RedHat/Fedora 中,請參閱man dracut.

引用自:https://unix.stackexchange.com/questions/676118