If you specify a boot option that the kernel does not recognize, it does not cause an error: the unknown boot parameter will have no effect to the kernel, other than being listed in /proc/cmdline
. Then initramfs scripts or other userspace programs can look for it and use it to modify their behavior.
The unknown boot parameters are also passed to the init
process, whichever it may be (whether SysVinit, systemd or something else). In fact, this is how important troubleshooting/recovery boot options work, like single
to boot a SysVinit system to single-user mode, or systemd.unit=emergency.target
for the closest equivalent on a system with systemd
.
If your distribution uses user-space boot splash software like plymouth
, the kernel just "passes through" any splash
/nosplash
boot option to /proc/cmdline
, and plymouth
in initramfs will check for it.
Your distribution may have other troubleshooting/recovery functions implemented as extra boot options by the initramfs generator package. In Debian/Ubuntu and related distributions, see man 7 initramfs-tools
for a list of boot options specific to initramfs files created by the initramfs-tools
package; in modern RedHat/Fedora, see man dracut
.