123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213 |
- .. _kernelparameters:
- The kernel's command-line parameters
- ====================================
- 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
- line with a module name prefix, or via modprobe, e.g.::
- (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.
- Hyphens (dashes) and underscores are equivalent in parameter names, so::
- log_buf_len=1M print-fatal-signals=1
- can also be entered as::
- log-buf-len=1M print_fatal_signals=1
- Double-quotes can be used to protect spaces in values, e.g.::
- param="spaces in here"
- 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,...
- 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
- ``echo -n ${value} > /sys/module/${modulename}/parameters/${parm}``.
- 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
- parameter is applicable::
- ACPI ACPI support is enabled.
- AGP AGP (Accelerated Graphics Port) is enabled.
- ALSA ALSA sound support is enabled.
- APIC APIC support is enabled.
- APM Advanced Power Management support is enabled.
- ARM ARM architecture is enabled.
- ARM64 ARM64 architecture is enabled.
- AX25 Appropriate AX.25 support is enabled.
- CLK Common clock infrastructure is enabled.
- CMA Contiguous Memory Area support is enabled.
- DRM Direct Rendering Management support is enabled.
- DYNAMIC_DEBUG Build in debug messages and enable them at runtime
- EDD BIOS Enhanced Disk Drive Services (EDD) is enabled
- EFI EFI Partitioning (GPT) is enabled
- EIDE EIDE/ATAPI support is enabled.
- EVM Extended Verification Module
- FB The frame buffer device is enabled.
- FTRACE Function tracing enabled.
- GCOV GCOV profiling is enabled.
- HW Appropriate hardware is enabled.
- IA-64 IA-64 architecture is enabled.
- IMA Integrity measurement architecture is enabled.
- IOSCHED More than one I/O scheduler is enabled.
- IP_PNP IP DHCP, BOOTP, or RARP is enabled.
- IPV6 IPv6 support is enabled.
- ISAPNP ISA PnP code is enabled.
- ISDN Appropriate ISDN support is enabled.
- ISOL CPU Isolation is enabled.
- JOY Appropriate joystick support is enabled.
- KGDB Kernel debugger support is enabled.
- KVM Kernel Virtual Machine support is enabled.
- LIBATA Libata driver is enabled
- 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.rst.
- MDA MDA console support is enabled.
- MIPS MIPS architecture is enabled.
- MOUSE Appropriate mouse support is enabled.
- MSI Message Signaled Interrupts (PCI).
- MTD MTD (Memory Technology Device) support is enabled.
- NET Appropriate network support is enabled.
- NUMA NUMA support is enabled.
- NFS Appropriate NFS support is enabled.
- OF Devicetree is enabled.
- OSS OSS sound support is enabled.
- PV_OPS A paravirtualized kernel is enabled.
- PARIDE The ParIDE (parallel port IDE) subsystem is enabled.
- PARISC The PA-RISC architecture is enabled.
- PCI PCI bus support is enabled.
- PCIE PCI Express support is enabled.
- 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.
- RDT Intel Resource Director Technology.
- S390 S390 architecture is enabled.
- SCSI Appropriate SCSI support is enabled.
- A lot of drivers have their options described inside
- the Documentation/scsi/ sub-directory.
- SECURITY Different security models are enabled.
- SELINUX SELinux support is enabled.
- APPARMOR AppArmor support is enabled.
- SERIAL Serial support is enabled.
- SH SuperH architecture is enabled.
- SMP The kernel is an SMP kernel.
- SPARC Sparc architecture is enabled.
- SWSUSP Software suspend (hibernation) is enabled.
- SUSPEND System suspend states are enabled.
- TPM TPM drivers are enabled.
- TS Appropriate touchscreen support is enabled.
- UMS USB Mass Storage support is enabled.
- USB USB support is enabled.
- USBHID USB Human Interface Device support is enabled.
- V4L Video For Linux support is enabled.
- VMMIO Driver for memory mapped virtio devices is enabled.
- 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.
- X86-32 X86-32, aka i386 architecture is enabled.
- X86-64 X86-64 architecture is enabled.
- More X86-64 boot options can be found in
- Documentation/x86/x86_64/boot-options.rst.
- X86 Either 32-bit or 64-bit x86 (same as X86-32+X86-64)
- X86_UV SGI UV support is enabled.
- XEN Xen support is enabled
- In addition, the following text indicates that the option::
- 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
- need or coordination with <Documentation/x86/boot.rst>.
- There are also arch-specific kernel-parameters not documented here.
- See for example <Documentation/x86/x86_64/boot-options.rst>.
- 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.
- 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.
- Finally, the [KMG] suffix is commonly described after a number of kernel
- parameter values. These 'K', 'M', and 'G' letters represent the _binary_
- multipliers 'Kilo', 'Mega', and 'Giga', equaling 2^10, 2^20, and 2^30
- bytes respectively. Such letter suffixes can also be entirely omitted:
- .. include:: kernel-parameters.txt
- :literal:
- Todo
- ----
- Add more DRM drivers.
|