18c2ecf20Sopenharmony_ci.. _kernelparameters:
28c2ecf20Sopenharmony_ci
38c2ecf20Sopenharmony_ciThe kernel's command-line parameters
48c2ecf20Sopenharmony_ci====================================
58c2ecf20Sopenharmony_ci
68c2ecf20Sopenharmony_ciThe following is a consolidated list of the kernel parameters as
78c2ecf20Sopenharmony_ciimplemented by the __setup(), core_param() and module_param() macros
88c2ecf20Sopenharmony_ciand sorted into English Dictionary order (defined as ignoring all
98c2ecf20Sopenharmony_cipunctuation and sorting digits before letters in a case insensitive
108c2ecf20Sopenharmony_cimanner), and with descriptions where known.
118c2ecf20Sopenharmony_ci
128c2ecf20Sopenharmony_ciThe kernel parses parameters from the kernel command line up to "``--``";
138c2ecf20Sopenharmony_ciif it doesn't recognize a parameter and it doesn't contain a '.', the
148c2ecf20Sopenharmony_ciparameter gets passed to init: parameters with '=' go into init's
158c2ecf20Sopenharmony_cienvironment, others are passed as command line arguments to init.
168c2ecf20Sopenharmony_ciEverything after "``--``" is passed as an argument to init.
178c2ecf20Sopenharmony_ci
188c2ecf20Sopenharmony_ciModule parameters can be specified in two ways: via the kernel command
198c2ecf20Sopenharmony_ciline with a module name prefix, or via modprobe, e.g.::
208c2ecf20Sopenharmony_ci
218c2ecf20Sopenharmony_ci	(kernel command line) usbcore.blinkenlights=1
228c2ecf20Sopenharmony_ci	(modprobe command line) modprobe usbcore blinkenlights=1
238c2ecf20Sopenharmony_ci
248c2ecf20Sopenharmony_ciParameters for modules which are built into the kernel need to be
258c2ecf20Sopenharmony_cispecified on the kernel command line.  modprobe looks through the
268c2ecf20Sopenharmony_cikernel command line (/proc/cmdline) and collects module parameters
278c2ecf20Sopenharmony_ciwhen it loads a module, so the kernel command line can be used for
288c2ecf20Sopenharmony_ciloadable modules too.
298c2ecf20Sopenharmony_ci
308c2ecf20Sopenharmony_ciHyphens (dashes) and underscores are equivalent in parameter names, so::
318c2ecf20Sopenharmony_ci
328c2ecf20Sopenharmony_ci	log_buf_len=1M print-fatal-signals=1
338c2ecf20Sopenharmony_ci
348c2ecf20Sopenharmony_cican also be entered as::
358c2ecf20Sopenharmony_ci
368c2ecf20Sopenharmony_ci	log-buf-len=1M print_fatal_signals=1
378c2ecf20Sopenharmony_ci
388c2ecf20Sopenharmony_ciDouble-quotes can be used to protect spaces in values, e.g.::
398c2ecf20Sopenharmony_ci
408c2ecf20Sopenharmony_ci	param="spaces in here"
418c2ecf20Sopenharmony_ci
428c2ecf20Sopenharmony_cicpu lists:
438c2ecf20Sopenharmony_ci----------
448c2ecf20Sopenharmony_ci
458c2ecf20Sopenharmony_ciSome kernel parameters take a list of CPUs as a value, e.g.  isolcpus,
468c2ecf20Sopenharmony_cinohz_full, irqaffinity, rcu_nocbs.  The format of this list is:
478c2ecf20Sopenharmony_ci
488c2ecf20Sopenharmony_ci	<cpu number>,...,<cpu number>
498c2ecf20Sopenharmony_ci
508c2ecf20Sopenharmony_cior
518c2ecf20Sopenharmony_ci
528c2ecf20Sopenharmony_ci	<cpu number>-<cpu number>
538c2ecf20Sopenharmony_ci	(must be a positive range in ascending order)
548c2ecf20Sopenharmony_ci
558c2ecf20Sopenharmony_cior a mixture
568c2ecf20Sopenharmony_ci
578c2ecf20Sopenharmony_ci<cpu number>,...,<cpu number>-<cpu number>
588c2ecf20Sopenharmony_ci
598c2ecf20Sopenharmony_ciNote that for the special case of a range one can split the range into equal
608c2ecf20Sopenharmony_cisized groups and for each group use some amount from the beginning of that
618c2ecf20Sopenharmony_cigroup:
628c2ecf20Sopenharmony_ci
638c2ecf20Sopenharmony_ci	<cpu number>-cpu number>:<used size>/<group size>
648c2ecf20Sopenharmony_ci
658c2ecf20Sopenharmony_ciFor example one can add to the command line following parameter:
668c2ecf20Sopenharmony_ci
678c2ecf20Sopenharmony_ci	isolcpus=1,2,10-20,100-2000:2/25
688c2ecf20Sopenharmony_ci
698c2ecf20Sopenharmony_ciwhere the final item represents CPUs 100,101,125,126,150,151,...
708c2ecf20Sopenharmony_ci
718c2ecf20Sopenharmony_ci
728c2ecf20Sopenharmony_ci
738c2ecf20Sopenharmony_ciThis document may not be entirely up to date and comprehensive. The command
748c2ecf20Sopenharmony_ci"modinfo -p ${modulename}" shows a current list of all parameters of a loadable
758c2ecf20Sopenharmony_cimodule. Loadable modules, after being loaded into the running kernel, also
768c2ecf20Sopenharmony_cireveal their parameters in /sys/module/${modulename}/parameters/. Some of these
778c2ecf20Sopenharmony_ciparameters may be changed at runtime by the command
788c2ecf20Sopenharmony_ci``echo -n ${value} > /sys/module/${modulename}/parameters/${parm}``.
798c2ecf20Sopenharmony_ci
808c2ecf20Sopenharmony_ciThe parameters listed below are only valid if certain kernel build options were
818c2ecf20Sopenharmony_cienabled and if respective hardware is present. The text in square brackets at
828c2ecf20Sopenharmony_cithe beginning of each description states the restrictions within which a
838c2ecf20Sopenharmony_ciparameter is applicable::
848c2ecf20Sopenharmony_ci
858c2ecf20Sopenharmony_ci	ACPI	ACPI support is enabled.
868c2ecf20Sopenharmony_ci	AGP	AGP (Accelerated Graphics Port) is enabled.
878c2ecf20Sopenharmony_ci	ALSA	ALSA sound support is enabled.
888c2ecf20Sopenharmony_ci	APIC	APIC support is enabled.
898c2ecf20Sopenharmony_ci	APM	Advanced Power Management support is enabled.
908c2ecf20Sopenharmony_ci	ARM	ARM architecture is enabled.
918c2ecf20Sopenharmony_ci	ARM64	ARM64 architecture is enabled.
928c2ecf20Sopenharmony_ci	AX25	Appropriate AX.25 support is enabled.
938c2ecf20Sopenharmony_ci	CLK	Common clock infrastructure is enabled.
948c2ecf20Sopenharmony_ci	CMA	Contiguous Memory Area support is enabled.
958c2ecf20Sopenharmony_ci	DRM	Direct Rendering Management support is enabled.
968c2ecf20Sopenharmony_ci	DYNAMIC_DEBUG Build in debug messages and enable them at runtime
978c2ecf20Sopenharmony_ci	EDD	BIOS Enhanced Disk Drive Services (EDD) is enabled
988c2ecf20Sopenharmony_ci	EFI	EFI Partitioning (GPT) is enabled
998c2ecf20Sopenharmony_ci	EIDE	EIDE/ATAPI support is enabled.
1008c2ecf20Sopenharmony_ci	EVM	Extended Verification Module
1018c2ecf20Sopenharmony_ci	FB	The frame buffer device is enabled.
1028c2ecf20Sopenharmony_ci	FTRACE	Function tracing enabled.
1038c2ecf20Sopenharmony_ci	GCOV	GCOV profiling is enabled.
1048c2ecf20Sopenharmony_ci	HW	Appropriate hardware is enabled.
1058c2ecf20Sopenharmony_ci	IA-64	IA-64 architecture is enabled.
1068c2ecf20Sopenharmony_ci	IMA     Integrity measurement architecture is enabled.
1078c2ecf20Sopenharmony_ci	IOSCHED	More than one I/O scheduler is enabled.
1088c2ecf20Sopenharmony_ci	IP_PNP	IP DHCP, BOOTP, or RARP is enabled.
1098c2ecf20Sopenharmony_ci	IPV6	IPv6 support is enabled.
1108c2ecf20Sopenharmony_ci	ISAPNP	ISA PnP code is enabled.
1118c2ecf20Sopenharmony_ci	ISDN	Appropriate ISDN support is enabled.
1128c2ecf20Sopenharmony_ci	ISOL	CPU Isolation is enabled.
1138c2ecf20Sopenharmony_ci	JOY	Appropriate joystick support is enabled.
1148c2ecf20Sopenharmony_ci	KGDB	Kernel debugger support is enabled.
1158c2ecf20Sopenharmony_ci	KVM	Kernel Virtual Machine support is enabled.
1168c2ecf20Sopenharmony_ci	LIBATA  Libata driver is enabled
1178c2ecf20Sopenharmony_ci	LP	Printer support is enabled.
1188c2ecf20Sopenharmony_ci	LOONGARCH LoongArch architecture is enabled.
1198c2ecf20Sopenharmony_ci	LOOP	Loopback device support is enabled.
1208c2ecf20Sopenharmony_ci	M68k	M68k architecture is enabled.
1218c2ecf20Sopenharmony_ci			These options have more detailed description inside of
1228c2ecf20Sopenharmony_ci			Documentation/m68k/kernel-options.rst.
1238c2ecf20Sopenharmony_ci	MDA	MDA console support is enabled.
1248c2ecf20Sopenharmony_ci	MIPS	MIPS architecture is enabled.
1258c2ecf20Sopenharmony_ci	MOUSE	Appropriate mouse support is enabled.
1268c2ecf20Sopenharmony_ci	MSI	Message Signaled Interrupts (PCI).
1278c2ecf20Sopenharmony_ci	MTD	MTD (Memory Technology Device) support is enabled.
1288c2ecf20Sopenharmony_ci	NET	Appropriate network support is enabled.
1298c2ecf20Sopenharmony_ci	NUMA	NUMA support is enabled.
1308c2ecf20Sopenharmony_ci	NFS	Appropriate NFS support is enabled.
1318c2ecf20Sopenharmony_ci	OF	Devicetree is enabled.
1328c2ecf20Sopenharmony_ci	OSS	OSS sound support is enabled.
1338c2ecf20Sopenharmony_ci	PV_OPS	A paravirtualized kernel is enabled.
1348c2ecf20Sopenharmony_ci	PARIDE	The ParIDE (parallel port IDE) subsystem is enabled.
1358c2ecf20Sopenharmony_ci	PARISC	The PA-RISC architecture is enabled.
1368c2ecf20Sopenharmony_ci	PCI	PCI bus support is enabled.
1378c2ecf20Sopenharmony_ci	PCIE	PCI Express support is enabled.
1388c2ecf20Sopenharmony_ci	PCMCIA	The PCMCIA subsystem is enabled.
1398c2ecf20Sopenharmony_ci	PNP	Plug & Play support is enabled.
1408c2ecf20Sopenharmony_ci	PPC	PowerPC architecture is enabled.
1418c2ecf20Sopenharmony_ci	PPT	Parallel port support is enabled.
1428c2ecf20Sopenharmony_ci	PS2	Appropriate PS/2 support is enabled.
1438c2ecf20Sopenharmony_ci	RAM	RAM disk support is enabled.
1448c2ecf20Sopenharmony_ci	RDT	Intel Resource Director Technology.
1458c2ecf20Sopenharmony_ci	S390	S390 architecture is enabled.
1468c2ecf20Sopenharmony_ci	SCSI	Appropriate SCSI support is enabled.
1478c2ecf20Sopenharmony_ci			A lot of drivers have their options described inside
1488c2ecf20Sopenharmony_ci			the Documentation/scsi/ sub-directory.
1498c2ecf20Sopenharmony_ci	SECURITY Different security models are enabled.
1508c2ecf20Sopenharmony_ci	SELINUX SELinux support is enabled.
1518c2ecf20Sopenharmony_ci	APPARMOR AppArmor support is enabled.
1528c2ecf20Sopenharmony_ci	SERIAL	Serial support is enabled.
1538c2ecf20Sopenharmony_ci	SH	SuperH architecture is enabled.
1548c2ecf20Sopenharmony_ci	SMP	The kernel is an SMP kernel.
1558c2ecf20Sopenharmony_ci	SPARC	Sparc architecture is enabled.
1568c2ecf20Sopenharmony_ci	SWSUSP	Software suspend (hibernation) is enabled.
1578c2ecf20Sopenharmony_ci	SUSPEND	System suspend states are enabled.
1588c2ecf20Sopenharmony_ci	TPM	TPM drivers are enabled.
1598c2ecf20Sopenharmony_ci	TS	Appropriate touchscreen support is enabled.
1608c2ecf20Sopenharmony_ci	UMS	USB Mass Storage support is enabled.
1618c2ecf20Sopenharmony_ci	USB	USB support is enabled.
1628c2ecf20Sopenharmony_ci	USBHID	USB Human Interface Device support is enabled.
1638c2ecf20Sopenharmony_ci	V4L	Video For Linux support is enabled.
1648c2ecf20Sopenharmony_ci	VMMIO   Driver for memory mapped virtio devices is enabled.
1658c2ecf20Sopenharmony_ci	VGA	The VGA console has been enabled.
1668c2ecf20Sopenharmony_ci	VT	Virtual terminal support is enabled.
1678c2ecf20Sopenharmony_ci	WDT	Watchdog support is enabled.
1688c2ecf20Sopenharmony_ci	XT	IBM PC/XT MFM hard disk support is enabled.
1698c2ecf20Sopenharmony_ci	X86-32	X86-32, aka i386 architecture is enabled.
1708c2ecf20Sopenharmony_ci	X86-64	X86-64 architecture is enabled.
1718c2ecf20Sopenharmony_ci			More X86-64 boot options can be found in
1728c2ecf20Sopenharmony_ci			Documentation/x86/x86_64/boot-options.rst.
1738c2ecf20Sopenharmony_ci	X86	Either 32-bit or 64-bit x86 (same as X86-32+X86-64)
1748c2ecf20Sopenharmony_ci	X86_UV	SGI UV support is enabled.
1758c2ecf20Sopenharmony_ci	XEN	Xen support is enabled
1768c2ecf20Sopenharmony_ci
1778c2ecf20Sopenharmony_ciIn addition, the following text indicates that the option::
1788c2ecf20Sopenharmony_ci
1798c2ecf20Sopenharmony_ci	BUGS=	Relates to possible processor bugs on the said processor.
1808c2ecf20Sopenharmony_ci	KNL	Is a kernel start-up parameter.
1818c2ecf20Sopenharmony_ci	BOOT	Is a boot loader parameter.
1828c2ecf20Sopenharmony_ci
1838c2ecf20Sopenharmony_ciParameters denoted with BOOT are actually interpreted by the boot
1848c2ecf20Sopenharmony_ciloader, and have no meaning to the kernel directly.
1858c2ecf20Sopenharmony_ciDo not modify the syntax of boot loader parameters without extreme
1868c2ecf20Sopenharmony_cineed or coordination with <Documentation/x86/boot.rst>.
1878c2ecf20Sopenharmony_ci
1888c2ecf20Sopenharmony_ciThere are also arch-specific kernel-parameters not documented here.
1898c2ecf20Sopenharmony_ciSee for example <Documentation/x86/x86_64/boot-options.rst>.
1908c2ecf20Sopenharmony_ci
1918c2ecf20Sopenharmony_ciNote that ALL kernel parameters listed below are CASE SENSITIVE, and that
1928c2ecf20Sopenharmony_cia trailing = on the name of any parameter states that that parameter will
1938c2ecf20Sopenharmony_cibe entered as an environment variable, whereas its absence indicates that
1948c2ecf20Sopenharmony_ciit will appear as a kernel argument readable via /proc/cmdline by programs
1958c2ecf20Sopenharmony_cirunning once the system is up.
1968c2ecf20Sopenharmony_ci
1978c2ecf20Sopenharmony_ciThe number of kernel parameters is not limited, but the length of the
1988c2ecf20Sopenharmony_cicomplete command line (parameters including spaces etc.) is limited to
1998c2ecf20Sopenharmony_cia fixed number of characters. This limit depends on the architecture
2008c2ecf20Sopenharmony_ciand is between 256 and 4096 characters. It is defined in the file
2018c2ecf20Sopenharmony_ci./include/asm/setup.h as COMMAND_LINE_SIZE.
2028c2ecf20Sopenharmony_ci
2038c2ecf20Sopenharmony_ciFinally, the [KMG] suffix is commonly described after a number of kernel
2048c2ecf20Sopenharmony_ciparameter values. These 'K', 'M', and 'G' letters represent the _binary_
2058c2ecf20Sopenharmony_cimultipliers 'Kilo', 'Mega', and 'Giga', equaling 2^10, 2^20, and 2^30
2068c2ecf20Sopenharmony_cibytes respectively. Such letter suffixes can also be entirely omitted:
2078c2ecf20Sopenharmony_ci
2088c2ecf20Sopenharmony_ci.. include:: kernel-parameters.txt
2098c2ecf20Sopenharmony_ci   :literal:
2108c2ecf20Sopenharmony_ci
2118c2ecf20Sopenharmony_ciTodo
2128c2ecf20Sopenharmony_ci----
2138c2ecf20Sopenharmony_ci
2148c2ecf20Sopenharmony_ci	Add more DRM drivers.
215