2017-04-20 15:04:15 +02:00
|
|
|
.. _kernelparameters:
|
|
|
|
|
2016-10-27 00:14:52 +02:00
|
|
|
The kernel's command-line parameters
|
|
|
|
====================================
|
2005-04-17 00:20:36 +02:00
|
|
|
|
2014-05-14 03:03:45 +02:00
|
|
|
The following is a consolidated list of the kernel parameters as
|
|
|
|
implemented by the __setup(), core_param() and module_param() macros
|
|
|
|
and sorted into English Dictionary order (defined as ignoring all
|
|
|
|
punctuation and sorting digits before letters in a case insensitive
|
|
|
|
manner), and with descriptions where known.
|
|
|
|
|
|
|
|
The kernel parses parameters from the kernel command line up to "--";
|
|
|
|
if it doesn't recognize a parameter and it doesn't contain a '.', the
|
|
|
|
parameter gets passed to init: parameters with '=' go into init's
|
|
|
|
environment, others are passed as command line arguments to init.
|
|
|
|
Everything after "--" is passed as an argument to init.
|
|
|
|
|
|
|
|
Module parameters can be specified in two ways: via the kernel command
|
2016-09-21 14:48:55 +02:00
|
|
|
line with a module name prefix, or via modprobe, e.g.::
|
2014-05-14 03:03:45 +02:00
|
|
|
|
|
|
|
(kernel command line) usbcore.blinkenlights=1
|
|
|
|
(modprobe command line) modprobe usbcore blinkenlights=1
|
|
|
|
|
|
|
|
Parameters for modules which are built into the kernel need to be
|
|
|
|
specified on the kernel command line. modprobe looks through the
|
|
|
|
kernel command line (/proc/cmdline) and collects module parameters
|
|
|
|
when it loads a module, so the kernel command line can be used for
|
|
|
|
loadable modules too.
|
2005-04-17 00:20:36 +02:00
|
|
|
|
2016-09-21 14:48:55 +02:00
|
|
|
Hyphens (dashes) and underscores are equivalent in parameter names, so::
|
|
|
|
|
2009-05-07 01:02:58 +02:00
|
|
|
log_buf_len=1M print-fatal-signals=1
|
2016-09-21 14:48:55 +02:00
|
|
|
|
|
|
|
can also be entered as::
|
|
|
|
|
2009-05-07 01:02:58 +02:00
|
|
|
log-buf-len=1M print_fatal_signals=1
|
|
|
|
|
2016-09-21 14:48:55 +02:00
|
|
|
Double-quotes can be used to protect spaces in values, e.g.::
|
|
|
|
|
2014-05-14 03:03:45 +02:00
|
|
|
param="spaces in here"
|
2009-05-07 01:02:58 +02:00
|
|
|
|
2016-10-11 22:51:35 +02:00
|
|
|
cpu lists:
|
|
|
|
----------
|
|
|
|
|
|
|
|
Some kernel parameters take a list of CPUs as a value, e.g. isolcpus,
|
|
|
|
nohz_full, irqaffinity, rcu_nocbs. The format of this list is:
|
|
|
|
|
|
|
|
<cpu number>,...,<cpu number>
|
|
|
|
|
|
|
|
or
|
|
|
|
|
|
|
|
<cpu number>-<cpu number>
|
|
|
|
(must be a positive range in ascending order)
|
|
|
|
|
|
|
|
or a mixture
|
|
|
|
|
|
|
|
<cpu number>,...,<cpu number>-<cpu number>
|
|
|
|
|
|
|
|
Note that for the special case of a range one can split the range into equal
|
|
|
|
sized groups and for each group use some amount from the beginning of that
|
|
|
|
group:
|
|
|
|
|
|
|
|
<cpu number>-cpu number>:<used size>/<group size>
|
|
|
|
|
|
|
|
For example one can add to the command line following parameter:
|
|
|
|
|
|
|
|
isolcpus=1,2,10-20,100-2000:2/25
|
|
|
|
|
|
|
|
where the final item represents CPUs 100,101,125,126,150,151,...
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-04-01 01:43:18 +02:00
|
|
|
This document may not be entirely up to date and comprehensive. The command
|
|
|
|
"modinfo -p ${modulename}" shows a current list of all parameters of a loadable
|
|
|
|
module. Loadable modules, after being loaded into the running kernel, also
|
|
|
|
reveal their parameters in /sys/module/${modulename}/parameters/. Some of these
|
|
|
|
parameters may be changed at runtime by the command
|
2016-09-21 14:48:55 +02:00
|
|
|
``echo -n ${value} > /sys/module/${modulename}/parameters/${parm}``.
|
2006-04-01 01:43:18 +02:00
|
|
|
|
2006-04-01 01:44:30 +02:00
|
|
|
The parameters listed below are only valid if certain kernel build options were
|
|
|
|
enabled and if respective hardware is present. The text in square brackets at
|
|
|
|
the beginning of each description states the restrictions within which a
|
2016-09-21 14:48:55 +02:00
|
|
|
parameter is applicable::
|
2005-04-17 00:20:36 +02:00
|
|
|
|
|
|
|
ACPI ACPI support is enabled.
|
2007-07-27 02:46:20 +02:00
|
|
|
AGP AGP (Accelerated Graphics Port) is enabled.
|
2005-04-17 00:20:36 +02:00
|
|
|
ALSA ALSA sound support is enabled.
|
|
|
|
APIC APIC support is enabled.
|
|
|
|
APM Advanced Power Management support is enabled.
|
2011-08-13 21:34:52 +02:00
|
|
|
ARM ARM architecture is enabled.
|
2019-04-13 05:56:21 +02:00
|
|
|
ARM64 ARM64 architecture is enabled.
|
2005-04-17 00:20:36 +02:00
|
|
|
AX25 Appropriate AX.25 support is enabled.
|
2013-04-27 23:10:18 +02:00
|
|
|
CLK Common clock infrastructure is enabled.
|
2013-03-29 02:41:46 +01:00
|
|
|
CMA Contiguous Memory Area support is enabled.
|
2011-01-25 15:18:38 +01:00
|
|
|
DRM Direct Rendering Management support is enabled.
|
|
|
|
DYNAMIC_DEBUG Build in debug messages and enable them at runtime
|
2005-04-17 00:20:36 +02:00
|
|
|
EDD BIOS Enhanced Disk Drive Services (EDD) is enabled
|
|
|
|
EFI EFI Partitioning (GPT) is enabled
|
|
|
|
EIDE EIDE/ATAPI support is enabled.
|
2011-05-13 00:33:20 +02:00
|
|
|
EVM Extended Verification Module
|
2005-04-17 00:20:36 +02:00
|
|
|
FB The frame buffer device is enabled.
|
2011-08-13 21:34:52 +02:00
|
|
|
FTRACE Function tracing enabled.
|
2009-06-18 01:28:08 +02:00
|
|
|
GCOV GCOV profiling is enabled.
|
2005-04-17 00:20:36 +02:00
|
|
|
HW Appropriate hardware is enabled.
|
|
|
|
IA-64 IA-64 architecture is enabled.
|
2009-02-04 15:06:57 +01:00
|
|
|
IMA Integrity measurement architecture is enabled.
|
2005-04-17 00:20:36 +02:00
|
|
|
IOSCHED More than one I/O scheduler is enabled.
|
2005-07-12 22:58:33 +02:00
|
|
|
IP_PNP IP DHCP, BOOTP, or RARP is enabled.
|
2010-02-04 22:36:50 +01:00
|
|
|
IPV6 IPv6 support is enabled.
|
2005-04-17 00:20:36 +02:00
|
|
|
ISAPNP ISA PnP code is enabled.
|
|
|
|
ISDN Appropriate ISDN support is enabled.
|
2017-12-14 19:18:27 +01:00
|
|
|
ISOL CPU Isolation is enabled.
|
2005-04-17 00:20:36 +02:00
|
|
|
JOY Appropriate joystick support is enabled.
|
2010-05-21 04:04:24 +02:00
|
|
|
KGDB Kernel debugger support is enabled.
|
2009-07-10 14:20:35 +02:00
|
|
|
KVM Kernel Virtual Machine support is enabled.
|
2006-09-28 20:29:01 +02:00
|
|
|
LIBATA Libata driver is enabled
|
2005-04-17 00:20:36 +02:00
|
|
|
LP Printer support is enabled.
|
|
|
|
LOOP Loopback device support is enabled.
|
|
|
|
M68k M68k architecture is enabled.
|
|
|
|
These options have more detailed description inside of
|
|
|
|
Documentation/m68k/kernel-options.txt.
|
|
|
|
MDA MDA console support is enabled.
|
2011-08-13 21:34:52 +02:00
|
|
|
MIPS MIPS architecture is enabled.
|
2005-04-17 00:20:36 +02:00
|
|
|
MOUSE Appropriate mouse support is enabled.
|
2006-03-06 06:33:34 +01:00
|
|
|
MSI Message Signaled Interrupts (PCI).
|
2007-07-31 09:37:40 +02:00
|
|
|
MTD MTD (Memory Technology Device) support is enabled.
|
2005-04-17 00:20:36 +02:00
|
|
|
NET Appropriate network support is enabled.
|
|
|
|
NUMA NUMA support is enabled.
|
|
|
|
NFS Appropriate NFS support is enabled.
|
|
|
|
OSS OSS sound support is enabled.
|
2007-07-31 09:37:40 +02:00
|
|
|
PV_OPS A paravirtualized kernel is enabled.
|
|
|
|
PARIDE The ParIDE (parallel port IDE) subsystem is enabled.
|
2005-04-17 00:20:36 +02:00
|
|
|
PARISC The PA-RISC architecture is enabled.
|
|
|
|
PCI PCI bus support is enabled.
|
2007-10-05 22:17:58 +02:00
|
|
|
PCIE PCI Express support is enabled.
|
2005-04-17 00:20:36 +02:00
|
|
|
PCMCIA The PCMCIA subsystem is enabled.
|
|
|
|
PNP Plug & Play support is enabled.
|
|
|
|
PPC PowerPC architecture is enabled.
|
|
|
|
PPT Parallel port support is enabled.
|
|
|
|
PS2 Appropriate PS/2 support is enabled.
|
|
|
|
RAM RAM disk support is enabled.
|
2017-08-24 18:26:51 +02:00
|
|
|
RDT Intel Resource Director Technology.
|
2005-04-17 00:20:36 +02:00
|
|
|
S390 S390 architecture is enabled.
|
|
|
|
SCSI Appropriate SCSI support is enabled.
|
2010-08-14 21:36:14 +02:00
|
|
|
A lot of drivers have their options described inside
|
|
|
|
the Documentation/scsi/ sub-directory.
|
2007-10-17 08:31:32 +02:00
|
|
|
SECURITY Different security models are enabled.
|
2005-04-17 00:20:36 +02:00
|
|
|
SELINUX SELinux support is enabled.
|
2010-07-29 23:48:09 +02:00
|
|
|
APPARMOR AppArmor support is enabled.
|
2005-04-17 00:20:36 +02:00
|
|
|
SERIAL Serial support is enabled.
|
2007-02-28 10:30:01 +01:00
|
|
|
SH SuperH architecture is enabled.
|
2005-04-17 00:20:36 +02:00
|
|
|
SMP The kernel is an SMP kernel.
|
|
|
|
SPARC Sparc architecture is enabled.
|
2008-07-24 06:28:33 +02:00
|
|
|
SWSUSP Software suspend (hibernation) is enabled.
|
|
|
|
SUSPEND System suspend states are enabled.
|
2010-03-25 04:55:32 +01:00
|
|
|
TPM TPM drivers are enabled.
|
2005-04-17 00:20:36 +02:00
|
|
|
TS Appropriate touchscreen support is enabled.
|
2008-11-10 20:07:45 +01:00
|
|
|
UMS USB Mass Storage support is enabled.
|
2005-04-17 00:20:36 +02:00
|
|
|
USB USB support is enabled.
|
|
|
|
USBHID USB Human Interface Device support is enabled.
|
|
|
|
V4L Video For Linux support is enabled.
|
2012-05-09 19:30:16 +02:00
|
|
|
VMMIO Driver for memory mapped virtio devices is enabled.
|
2005-04-17 00:20:36 +02:00
|
|
|
VGA The VGA console has been enabled.
|
|
|
|
VT Virtual terminal support is enabled.
|
|
|
|
WDT Watchdog support is enabled.
|
|
|
|
XT IBM PC/XT MFM hard disk support is enabled.
|
2007-07-31 09:37:59 +02:00
|
|
|
X86-32 X86-32, aka i386 architecture is enabled.
|
2005-04-17 00:20:36 +02:00
|
|
|
X86-64 X86-64 architecture is enabled.
|
|
|
|
More X86-64 boot options can be found in
|
2008-10-20 18:32:21 +02:00
|
|
|
Documentation/x86/x86_64/boot-options.txt .
|
2011-08-13 21:34:52 +02:00
|
|
|
X86 Either 32-bit or 64-bit x86 (same as X86-32+X86-64)
|
2016-03-31 21:18:29 +02:00
|
|
|
X86_UV SGI UV support is enabled.
|
2010-05-14 13:44:30 +02:00
|
|
|
XEN Xen support is enabled
|
2005-04-17 00:20:36 +02:00
|
|
|
|
2016-09-21 14:48:55 +02:00
|
|
|
In addition, the following text indicates that the option::
|
2005-04-17 00:20:36 +02:00
|
|
|
|
|
|
|
BUGS= Relates to possible processor bugs on the said processor.
|
|
|
|
KNL Is a kernel start-up parameter.
|
|
|
|
BOOT Is a boot loader parameter.
|
|
|
|
|
|
|
|
Parameters denoted with BOOT are actually interpreted by the boot
|
|
|
|
loader, and have no meaning to the kernel directly.
|
|
|
|
Do not modify the syntax of boot loader parameters without extreme
|
2009-02-19 22:48:14 +01:00
|
|
|
need or coordination with <Documentation/x86/boot.txt>.
|
2005-04-17 00:20:36 +02:00
|
|
|
|
2007-02-13 13:26:21 +01:00
|
|
|
There are also arch-specific kernel-parameters not documented here.
|
2008-10-20 18:32:21 +02:00
|
|
|
See for example <Documentation/x86/x86_64/boot-options.txt>.
|
2007-02-13 13:26:21 +01:00
|
|
|
|
2005-04-17 00:20:36 +02:00
|
|
|
Note that ALL kernel parameters listed below are CASE SENSITIVE, and that
|
|
|
|
a trailing = on the name of any parameter states that that parameter will
|
|
|
|
be entered as an environment variable, whereas its absence indicates that
|
|
|
|
it will appear as a kernel argument readable via /proc/cmdline by programs
|
|
|
|
running once the system is up.
|
|
|
|
|
2006-09-29 11:00:27 +02:00
|
|
|
The number of kernel parameters is not limited, but the length of the
|
|
|
|
complete command line (parameters including spaces etc.) is limited to
|
|
|
|
a fixed number of characters. This limit depends on the architecture
|
|
|
|
and is between 256 and 4096 characters. It is defined in the file
|
|
|
|
./include/asm/setup.h as COMMAND_LINE_SIZE.
|
|
|
|
|
2011-02-21 05:08:35 +01:00
|
|
|
Finally, the [KMG] suffix is commonly described after a number of kernel
|
|
|
|
parameter values. These 'K', 'M', and 'G' letters represent the _binary_
|
2017-03-14 09:38:35 +01:00
|
|
|
multipliers 'Kilo', 'Mega', and 'Giga', equaling 2^10, 2^20, and 2^30
|
2016-11-03 11:10:10 +01:00
|
|
|
bytes respectively. Such letter suffixes can also be entirely omitted:
|
2011-02-21 05:08:35 +01:00
|
|
|
|
2016-11-03 11:10:10 +01:00
|
|
|
.. include:: kernel-parameters.txt
|
|
|
|
:literal:
|
2005-04-17 00:20:36 +02:00
|
|
|
|
2016-09-21 14:48:55 +02:00
|
|
|
Todo
|
|
|
|
----
|
2005-04-17 00:20:36 +02:00
|
|
|
|
|
|
|
Add more DRM drivers.
|