TODO
Unrecognized parameters that don't contain a . are passed to init.
Parameters with a = go into the environment of init. Others are passed as command line argument to init.
The kernel parses the command line up to --. Everything after -- is passed as an argument to init.
Module parameters can be specified:
- Via the kernel command line and a module name prefix (
usbcore.blinkenlights=1)
- Vai
modprobe (modporobe usbcore blinkenlights=1)
Parameters for modules which are built into the kernel need to be specified on the kernel command line
Hyphens/dashes and underscores are equivalent in parameter names, i. e. log_buf_len=1M and log-buf-len=1M have the same effect.
Spaces can be protected in double quotes (param="foo bar baz").
Macros
-
__setup()
-
early_param()
-
core_param()
-
module_param()
Documentation/arch/m68k/kernel-options.rst states (somewhat contrary to the above):
The kernel knows three kinds of options on its command line
- Kernel options (Argument contains
= and is known to the kernel)
- Environment settings (Argument contains
=)
- Arguments for init (Argument does not contain
=)
Interesting parameters
Interesting, imho, parameters include:
apic | Output verbosity while booting |
ALSA | |
boot | |
boot_delay | Milliseconds to dealy each printk during boot. Requires CONFIG_BOOT_PRINTK_DELAY and possibly lpj=. |
bootconfig | |
console | OUtput console device and options. |
console_msg_format | |
earlycon | Output early console device and options |
earlyprintk | Useful when the kernel crashes before the normal console is initialized. |
ftrace | Set and start the specified tracer as early as possible |
ftrace_boot_snapshot | Take a snapshot of ftrace ringbuffer to /sys/kernel/tracing/snapshot |
init | Start specified binary instead of /sbin/init |
initrd | Location of initial ramdisk. |
keep_bootcon | |
kgdbwait | Enter kernel debugger at the earliest opportunity. |
lpj | Set loops_per_jiffy to avoid time-consuming boot-time autodetection of up to 250 ms per CPU. |
nospectre_* | |
nr_cpus | |
profile | Enable kernel profiling via /proc/profile. |
quiet | Disable most log messages |
retbleed | |
ro, rw | Mount root device read-only, read-write |
root | root filesystem (See early_lookup_bdev comment in block/early-lookup.c) |
rootflags | Mount options for root filesystem |
S | Run init in single mode |
selinux | Disable or enable SELinux at boot time |
stacktrace | Enable the stack tracer on boot up |
stacktrace_filter | |
sysrq_always_enabled | |
tp_printk | |
trace_buf_size | Set tracing bugger size on each CPU |
trace_options | Compare with /sys/kernel/tracing/trace_options |
vga | Video mode, actually a boot loader parameter passed to the kernel using a special protocol. See also Documentation/admin-guide/svga.rst and Documentation/arch/x86/boot.rst. |
See also Documentation/admin-guide/kernel-parameters.txt