162306a36Sopenharmony_ci.. _kernelparameters: 262306a36Sopenharmony_ci 362306a36Sopenharmony_ciThe kernel's command-line parameters 462306a36Sopenharmony_ci==================================== 562306a36Sopenharmony_ci 662306a36Sopenharmony_ciThe following is a consolidated list of the kernel parameters as implemented 762306a36Sopenharmony_ciby the __setup(), early_param(), core_param() and module_param() macros 862306a36Sopenharmony_ciand sorted into English Dictionary order (defined as ignoring all 962306a36Sopenharmony_cipunctuation and sorting digits before letters in a case insensitive 1062306a36Sopenharmony_cimanner), and with descriptions where known. 1162306a36Sopenharmony_ci 1262306a36Sopenharmony_ciThe kernel parses parameters from the kernel command line up to "``--``"; 1362306a36Sopenharmony_ciif it doesn't recognize a parameter and it doesn't contain a '.', the 1462306a36Sopenharmony_ciparameter gets passed to init: parameters with '=' go into init's 1562306a36Sopenharmony_cienvironment, others are passed as command line arguments to init. 1662306a36Sopenharmony_ciEverything after "``--``" is passed as an argument to init. 1762306a36Sopenharmony_ci 1862306a36Sopenharmony_ciModule parameters can be specified in two ways: via the kernel command 1962306a36Sopenharmony_ciline with a module name prefix, or via modprobe, e.g.:: 2062306a36Sopenharmony_ci 2162306a36Sopenharmony_ci (kernel command line) usbcore.blinkenlights=1 2262306a36Sopenharmony_ci (modprobe command line) modprobe usbcore blinkenlights=1 2362306a36Sopenharmony_ci 2462306a36Sopenharmony_ciParameters for modules which are built into the kernel need to be 2562306a36Sopenharmony_cispecified on the kernel command line. modprobe looks through the 2662306a36Sopenharmony_cikernel command line (/proc/cmdline) and collects module parameters 2762306a36Sopenharmony_ciwhen it loads a module, so the kernel command line can be used for 2862306a36Sopenharmony_ciloadable modules too. 2962306a36Sopenharmony_ci 3062306a36Sopenharmony_ciHyphens (dashes) and underscores are equivalent in parameter names, so:: 3162306a36Sopenharmony_ci 3262306a36Sopenharmony_ci log_buf_len=1M print-fatal-signals=1 3362306a36Sopenharmony_ci 3462306a36Sopenharmony_cican also be entered as:: 3562306a36Sopenharmony_ci 3662306a36Sopenharmony_ci log-buf-len=1M print_fatal_signals=1 3762306a36Sopenharmony_ci 3862306a36Sopenharmony_ciDouble-quotes can be used to protect spaces in values, e.g.:: 3962306a36Sopenharmony_ci 4062306a36Sopenharmony_ci param="spaces in here" 4162306a36Sopenharmony_ci 4262306a36Sopenharmony_cicpu lists: 4362306a36Sopenharmony_ci---------- 4462306a36Sopenharmony_ci 4562306a36Sopenharmony_ciSome kernel parameters take a list of CPUs as a value, e.g. isolcpus, 4662306a36Sopenharmony_cinohz_full, irqaffinity, rcu_nocbs. The format of this list is: 4762306a36Sopenharmony_ci 4862306a36Sopenharmony_ci <cpu number>,...,<cpu number> 4962306a36Sopenharmony_ci 5062306a36Sopenharmony_cior 5162306a36Sopenharmony_ci 5262306a36Sopenharmony_ci <cpu number>-<cpu number> 5362306a36Sopenharmony_ci (must be a positive range in ascending order) 5462306a36Sopenharmony_ci 5562306a36Sopenharmony_cior a mixture 5662306a36Sopenharmony_ci 5762306a36Sopenharmony_ci<cpu number>,...,<cpu number>-<cpu number> 5862306a36Sopenharmony_ci 5962306a36Sopenharmony_ciNote that for the special case of a range one can split the range into equal 6062306a36Sopenharmony_cisized groups and for each group use some amount from the beginning of that 6162306a36Sopenharmony_cigroup: 6262306a36Sopenharmony_ci 6362306a36Sopenharmony_ci <cpu number>-<cpu number>:<used size>/<group size> 6462306a36Sopenharmony_ci 6562306a36Sopenharmony_ciFor example one can add to the command line following parameter: 6662306a36Sopenharmony_ci 6762306a36Sopenharmony_ci isolcpus=1,2,10-20,100-2000:2/25 6862306a36Sopenharmony_ci 6962306a36Sopenharmony_ciwhere the final item represents CPUs 100,101,125,126,150,151,... 7062306a36Sopenharmony_ci 7162306a36Sopenharmony_ciThe value "N" can be used to represent the numerically last CPU on the system, 7262306a36Sopenharmony_cii.e "foo_cpus=16-N" would be equivalent to "16-31" on a 32 core system. 7362306a36Sopenharmony_ci 7462306a36Sopenharmony_ciKeep in mind that "N" is dynamic, so if system changes cause the bitmap width 7562306a36Sopenharmony_cito change, such as less cores in the CPU list, then N and any ranges using N 7662306a36Sopenharmony_ciwill also change. Use the same on a small 4 core system, and "16-N" becomes 7762306a36Sopenharmony_ci"16-3" and now the same boot input will be flagged as invalid (start > end). 7862306a36Sopenharmony_ci 7962306a36Sopenharmony_ciThe special case-tolerant group name "all" has a meaning of selecting all CPUs, 8062306a36Sopenharmony_ciso that "nohz_full=all" is the equivalent of "nohz_full=0-N". 8162306a36Sopenharmony_ci 8262306a36Sopenharmony_ciThe semantics of "N" and "all" is supported on a level of bitmaps and holds for 8362306a36Sopenharmony_ciall users of bitmap_parselist(). 8462306a36Sopenharmony_ci 8562306a36Sopenharmony_ciThis document may not be entirely up to date and comprehensive. The command 8662306a36Sopenharmony_ci"modinfo -p ${modulename}" shows a current list of all parameters of a loadable 8762306a36Sopenharmony_cimodule. Loadable modules, after being loaded into the running kernel, also 8862306a36Sopenharmony_cireveal their parameters in /sys/module/${modulename}/parameters/. Some of these 8962306a36Sopenharmony_ciparameters may be changed at runtime by the command 9062306a36Sopenharmony_ci``echo -n ${value} > /sys/module/${modulename}/parameters/${parm}``. 9162306a36Sopenharmony_ci 9262306a36Sopenharmony_ciThe parameters listed below are only valid if certain kernel build options 9362306a36Sopenharmony_ciwere enabled and if respective hardware is present. This list should be kept 9462306a36Sopenharmony_ciin alphabetical order. The text in square brackets at the beginning 9562306a36Sopenharmony_ciof each description states the restrictions within which a parameter 9662306a36Sopenharmony_ciis applicable:: 9762306a36Sopenharmony_ci 9862306a36Sopenharmony_ci ACPI ACPI support is enabled. 9962306a36Sopenharmony_ci AGP AGP (Accelerated Graphics Port) is enabled. 10062306a36Sopenharmony_ci ALSA ALSA sound support is enabled. 10162306a36Sopenharmony_ci APIC APIC support is enabled. 10262306a36Sopenharmony_ci APM Advanced Power Management support is enabled. 10362306a36Sopenharmony_ci APPARMOR AppArmor support is enabled. 10462306a36Sopenharmony_ci ARM ARM architecture is enabled. 10562306a36Sopenharmony_ci ARM64 ARM64 architecture is enabled. 10662306a36Sopenharmony_ci AX25 Appropriate AX.25 support is enabled. 10762306a36Sopenharmony_ci CLK Common clock infrastructure is enabled. 10862306a36Sopenharmony_ci CMA Contiguous Memory Area support is enabled. 10962306a36Sopenharmony_ci DRM Direct Rendering Management support is enabled. 11062306a36Sopenharmony_ci DYNAMIC_DEBUG Build in debug messages and enable them at runtime 11162306a36Sopenharmony_ci EDD BIOS Enhanced Disk Drive Services (EDD) is enabled 11262306a36Sopenharmony_ci EFI EFI Partitioning (GPT) is enabled 11362306a36Sopenharmony_ci EVM Extended Verification Module 11462306a36Sopenharmony_ci FB The frame buffer device is enabled. 11562306a36Sopenharmony_ci FTRACE Function tracing enabled. 11662306a36Sopenharmony_ci GCOV GCOV profiling is enabled. 11762306a36Sopenharmony_ci HIBERNATION HIBERNATION is enabled. 11862306a36Sopenharmony_ci HW Appropriate hardware is enabled. 11962306a36Sopenharmony_ci HYPER_V HYPERV support is enabled. 12062306a36Sopenharmony_ci IA-64 IA-64 architecture is enabled. 12162306a36Sopenharmony_ci IMA Integrity measurement architecture is enabled. 12262306a36Sopenharmony_ci IP_PNP IP DHCP, BOOTP, or RARP is enabled. 12362306a36Sopenharmony_ci IPV6 IPv6 support is enabled. 12462306a36Sopenharmony_ci ISAPNP ISA PnP code is enabled. 12562306a36Sopenharmony_ci ISDN Appropriate ISDN support is enabled. 12662306a36Sopenharmony_ci ISOL CPU Isolation is enabled. 12762306a36Sopenharmony_ci JOY Appropriate joystick support is enabled. 12862306a36Sopenharmony_ci KGDB Kernel debugger support is enabled. 12962306a36Sopenharmony_ci KVM Kernel Virtual Machine support is enabled. 13062306a36Sopenharmony_ci LIBATA Libata driver is enabled 13162306a36Sopenharmony_ci LOONGARCH LoongArch architecture is enabled. 13262306a36Sopenharmony_ci LOOP Loopback device support is enabled. 13362306a36Sopenharmony_ci LP Printer support is enabled. 13462306a36Sopenharmony_ci M68k M68k architecture is enabled. 13562306a36Sopenharmony_ci These options have more detailed description inside of 13662306a36Sopenharmony_ci Documentation/arch/m68k/kernel-options.rst. 13762306a36Sopenharmony_ci MDA MDA console support is enabled. 13862306a36Sopenharmony_ci MIPS MIPS architecture is enabled. 13962306a36Sopenharmony_ci MOUSE Appropriate mouse support is enabled. 14062306a36Sopenharmony_ci MSI Message Signaled Interrupts (PCI). 14162306a36Sopenharmony_ci MTD MTD (Memory Technology Device) support is enabled. 14262306a36Sopenharmony_ci NET Appropriate network support is enabled. 14362306a36Sopenharmony_ci NFS Appropriate NFS support is enabled. 14462306a36Sopenharmony_ci NUMA NUMA support is enabled. 14562306a36Sopenharmony_ci OF Devicetree is enabled. 14662306a36Sopenharmony_ci PARISC The PA-RISC architecture is enabled. 14762306a36Sopenharmony_ci PCI PCI bus support is enabled. 14862306a36Sopenharmony_ci PCIE PCI Express support is enabled. 14962306a36Sopenharmony_ci PCMCIA The PCMCIA subsystem is enabled. 15062306a36Sopenharmony_ci PNP Plug & Play support is enabled. 15162306a36Sopenharmony_ci PPC PowerPC architecture is enabled. 15262306a36Sopenharmony_ci PPT Parallel port support is enabled. 15362306a36Sopenharmony_ci PS2 Appropriate PS/2 support is enabled. 15462306a36Sopenharmony_ci PV_OPS A paravirtualized kernel is enabled. 15562306a36Sopenharmony_ci RAM RAM disk support is enabled. 15662306a36Sopenharmony_ci RDT Intel Resource Director Technology. 15762306a36Sopenharmony_ci RISCV RISCV architecture is enabled. 15862306a36Sopenharmony_ci S390 S390 architecture is enabled. 15962306a36Sopenharmony_ci SCSI Appropriate SCSI support is enabled. 16062306a36Sopenharmony_ci A lot of drivers have their options described inside 16162306a36Sopenharmony_ci the Documentation/scsi/ sub-directory. 16262306a36Sopenharmony_ci SECURITY Different security models are enabled. 16362306a36Sopenharmony_ci SELINUX SELinux support is enabled. 16462306a36Sopenharmony_ci SERIAL Serial support is enabled. 16562306a36Sopenharmony_ci SH SuperH architecture is enabled. 16662306a36Sopenharmony_ci SMP The kernel is an SMP kernel. 16762306a36Sopenharmony_ci SPARC Sparc architecture is enabled. 16862306a36Sopenharmony_ci SUSPEND System suspend states are enabled. 16962306a36Sopenharmony_ci SWSUSP Software suspend (hibernation) is enabled. 17062306a36Sopenharmony_ci TPM TPM drivers are enabled. 17162306a36Sopenharmony_ci UMS USB Mass Storage support is enabled. 17262306a36Sopenharmony_ci USB USB support is enabled. 17362306a36Sopenharmony_ci USBHID USB Human Interface Device support is enabled. 17462306a36Sopenharmony_ci V4L Video For Linux support is enabled. 17562306a36Sopenharmony_ci VGA The VGA console has been enabled. 17662306a36Sopenharmony_ci VMMIO Driver for memory mapped virtio devices is enabled. 17762306a36Sopenharmony_ci VT Virtual terminal support is enabled. 17862306a36Sopenharmony_ci WDT Watchdog support is enabled. 17962306a36Sopenharmony_ci X86-32 X86-32, aka i386 architecture is enabled. 18062306a36Sopenharmony_ci X86-64 X86-64 architecture is enabled. 18162306a36Sopenharmony_ci More X86-64 boot options can be found in 18262306a36Sopenharmony_ci Documentation/arch/x86/x86_64/boot-options.rst. 18362306a36Sopenharmony_ci X86 Either 32-bit or 64-bit x86 (same as X86-32+X86-64) 18462306a36Sopenharmony_ci X86_UV SGI UV support is enabled. 18562306a36Sopenharmony_ci XEN Xen support is enabled 18662306a36Sopenharmony_ci XTENSA xtensa architecture is enabled. 18762306a36Sopenharmony_ci 18862306a36Sopenharmony_ciIn addition, the following text indicates that the option:: 18962306a36Sopenharmony_ci 19062306a36Sopenharmony_ci BOOT Is a boot loader parameter. 19162306a36Sopenharmony_ci BUGS= Relates to possible processor bugs on the said processor. 19262306a36Sopenharmony_ci KNL Is a kernel start-up parameter. 19362306a36Sopenharmony_ci 19462306a36Sopenharmony_ciParameters denoted with BOOT are actually interpreted by the boot 19562306a36Sopenharmony_ciloader, and have no meaning to the kernel directly. 19662306a36Sopenharmony_ciDo not modify the syntax of boot loader parameters without extreme 19762306a36Sopenharmony_cineed or coordination with <Documentation/arch/x86/boot.rst>. 19862306a36Sopenharmony_ci 19962306a36Sopenharmony_ciThere are also arch-specific kernel-parameters not documented here. 20062306a36Sopenharmony_ciSee for example <Documentation/arch/x86/x86_64/boot-options.rst>. 20162306a36Sopenharmony_ci 20262306a36Sopenharmony_ciNote that ALL kernel parameters listed below are CASE SENSITIVE, and that 20362306a36Sopenharmony_cia trailing = on the name of any parameter states that that parameter will 20462306a36Sopenharmony_cibe entered as an environment variable, whereas its absence indicates that 20562306a36Sopenharmony_ciit will appear as a kernel argument readable via /proc/cmdline by programs 20662306a36Sopenharmony_cirunning once the system is up. 20762306a36Sopenharmony_ci 20862306a36Sopenharmony_ciThe number of kernel parameters is not limited, but the length of the 20962306a36Sopenharmony_cicomplete command line (parameters including spaces etc.) is limited to 21062306a36Sopenharmony_cia fixed number of characters. This limit depends on the architecture 21162306a36Sopenharmony_ciand is between 256 and 4096 characters. It is defined in the file 21262306a36Sopenharmony_ci./include/uapi/asm-generic/setup.h as COMMAND_LINE_SIZE. 21362306a36Sopenharmony_ci 21462306a36Sopenharmony_ciFinally, the [KMG] suffix is commonly described after a number of kernel 21562306a36Sopenharmony_ciparameter values. These 'K', 'M', and 'G' letters represent the _binary_ 21662306a36Sopenharmony_cimultipliers 'Kilo', 'Mega', and 'Giga', equaling 2^10, 2^20, and 2^30 21762306a36Sopenharmony_cibytes respectively. Such letter suffixes can also be entirely omitted: 21862306a36Sopenharmony_ci 21962306a36Sopenharmony_ci.. include:: kernel-parameters.txt 22062306a36Sopenharmony_ci :literal: 22162306a36Sopenharmony_ci 22262306a36Sopenharmony_ciTodo 22362306a36Sopenharmony_ci---- 22462306a36Sopenharmony_ci 22562306a36Sopenharmony_ci Add more DRM drivers. 226