suppose I enable CONFIG_CMDLINE_BOOL=y
and CONFIG_CMDLINE="..."
, but I also add a cmdline using efibootmgr via -u
option, which one takes precedence and gets executed?
Does an initramfs make this more complicated? does it also have its own cmdline?
In
arch/x86/Kconfig
of the kernel tree it says for CMDLINE:Enter arguments here that should be compiled into the kernel image and used at boot time. If the boot loader provides a command line at boot time, it is appended to this string to form the full kernel command line, when the system boots. However, you can use the CONFIG_CMDLINE_OVERRIDE option to change this behavior. In most cases, the command line (whether built-in or provided by the boot loader) should specify the device for the root file system.
and for CMDLINE_OVERRIDE:
Set this option to 'Y' to have the kernel ignore the boot loader command line, and use ONLY the built-in command line. This is used to work around broken boot loaders. This should be set to 'N' under normal conditions.
So both commandlines will probably be used. I don’t think an initramfs will normally interfere with the kernel commandline. In any case you can make sure you got what you wanted with
cat /proc/cmdline
.