linux内核可以接受的参数 | Linux kernel启动参数 | 通过grub给内核传递参数
阅读原文时间:2023年07月09日阅读:1

在Linux中,给kernel传递参数以控制其行为总共有三种方法:

1.build kernel之时的各个configuration选项。

2.当kernel启动之时,可以参数在kernel被GRUB或LILO等启动程序调用之时传递给kernel。

3.在kernel运行时,修改/proc或/sys目录下的文件。

这里我简单讲的就是第二种方式了,kernel在grub中配置的启动参数。

首先,kernel有哪些参数呢? 在linux的源代码中,有这样的一个文档Documentation/kernel-parameters.txt,它介绍了kernel的各个参数及其意义。

其次,kernel启动参数以空格分隔,而且是严格区分大小写的(如:mem和MEM是不一样的)。

再次,对于module特有的kernel参数写法是这样的,[module name].[parameter=XX],例如,igb.max_vfs=7这个kernel启动参数的效果就是相当于这样来动态加载module: modprobe igb max_vfs=7

另外,kernel是怎样处理这些启动参数的呢? 启动参数通常是这样的形式: name[=value_1][,value_2]…[,value_10]

“name”是关键字,内核用它来识别应该把”关键字”后面的值传递给谁,也就是如何处理这个值,是传递给处理进程还是作为环境变量或者抛给”init”。值的个数限制为10,你可以通过再次使用该关键字使用超过10个的参数。 首先,kernel检查关键字是不是 ‘root=’, ‘nfsroot=’, ‘nfsaddrs=’, ‘ro’, ‘rw’, ‘debug’或’init’,然后内核在bootsetups数组里搜索于该关键字相关联的已注册的处理函数,如果找到相关的已注册的处理函数,则调用这些函数并把关键字后面的值作为参数传递给这些函数。比如,你在启动时设置参数name=a,b,c,d,内核搜索bootsetups数组,如果发现”name”已注册,则调用”name”的设置函数如name_setup(),并把a,b,c,d传递给name_setup()执行。 所有型如”name=value”参数,如果没有被上面所述的设置函数接收,将被解释为系统启动后的环境变量,比如”TERM=vt100″启动参数就会被作为一个启动后的环境变量。所有没有被内核设置函数接收也没又被设置成环境变量的参数都将留给init进程处理,比如”single”。

下面简单总结一下我在工作中常用到的一些kernel启动参数吧。

根磁盘相关启动参数:

root #指出启动的根文件系统 如:root=/dev/sda1

ro #指定根设备在启动过程中为read-only,默认情况下一般都是这样配的

rw #和ro类似,它是规定为read-write,可写

rootfstype #根文件系统类型,如:rootfstype=ext4

Console和kernel log相关启动参数:

console #console的设备和选项,如:console=tty0 console=ttyS0

debug #enable kernel debugging 启动中的所有debug信息都会打印到console上

quiet #disable all log messages 将kernel log level设置为KERN_WARNING,在启动中只非常严重的信息

loglevel #设置默认的console日志级别,如:loglevel=7 (0~7的数字分别为:KERN_EMERG,..,KERN_DEBUG)

time #设置在每条kernel log信息前加一个时间戳

内存相关的启动参数:

mem #指定kernel使用的内存量,mem=n[KMG]

hugepages #设置大页表页(4MB大小)的最多个数,hugepages=n

CPU相关的启动参数:

mce # Enable the machine check exception feature.

nosmp #Run as a single-processor machine. 不使用SMP(多处理器)

max_cpus #max_cpus=n, SMP系统最多能使用的CPU个数(即使系统中有大于n个的CPU)

Ramdisk相关的启动参数:

initrd #指定初始化ramdisk的位置,initrd=filename

noinitrd #不使用initrd的配置,即使配置了initrd参数

初始化相关启动参数:

init #在启动时去执行的程序,init=filename,默认值为/sbin/init

PCI相关的启动参数:

pci #pci相关的选项,我常使用pci=assign_buses,也使用过pci=nomsi

SELinux相关启动参数:

enforcing #SELinux enforcing状态的开关,enforcing=0表示仅仅是记录危险而不是阻止访问,enforcing=1完全enable,默认值是0

selinux #在启动时关闭或开启SELinux,selinux=0表示关闭,selinux=1表示开启selinux

另外,还是用max_loop来指定最多可使用的回路设备。

在Redhat的系统中,还有个经常看到的kernel启动参数——rhgb,rhgb表示redhat graphics boot,就是会看到图片来代替启动过程中显示的文本信息,这些信息在启动后用dmesg也可以看到
rhgb = redhat graphical boot – This is a GUI mode booting screen with most of the information hidden while the user sees a rotating activity icon spining and brief information as to what the computer is doing.

quiet = hides the majority of boot messages before rhgb starts. These are supposed to make the common user more comfortable. They get alarmed about seeing the kernel and initializing messages, so they hide them for their comfort.

参考资料:

linux kernel documents

《Linux kernel in a nutshell》

                      Kernel Parameters  
                      ~~~~~~~~~~~~~~~~~

The following is a consolidated list of the kernel parameters as implemented
(mostly) by the __setup() macro 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.

Module parameters for loadable modules are specified only as the
parameter name with optional '=' and value as appropriate, such as:

modprobe usbcore blinkenlights=1

Module parameters for modules that are built into the kernel image
are specified on the kernel command line with the module name plus
'.' plus parameter name, with '=' and value if appropriate, such as:

usbcore.blinkenlights=1

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

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.  
AVR32    AVR32 architecture is enabled.  
AX25    Appropriate AX.25 support is enabled.  
BLACKFIN Blackfin architecture is enabled.  
DRM    Direct Rendering Management support is enabled.  
EDD    BIOS Enhanced Disk Drive Services (EDD) is enabled  
EFI    EFI Partitioning (GPT) is enabled  
EIDE    EIDE/ATAPI support is enabled.  
FB    The frame buffer device is 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.  
ISAPNP    ISA PnP code is enabled.  
ISDN    Appropriate ISDN support is enabled.  
JOY    Appropriate joystick 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.txt.  
MCA    MCA bus support is enabled.  
MDA    MDA console support 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.  
GENERIC\_TIME The generic timeofday code is enabled.  
NFS    Appropriate NFS support 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.  
ROOTPLUG The example Root Plug LSM is enabled.  
S390    S390 architecture is enabled.  
SCSI    Appropriate SCSI support is enabled.  
        A lot of drivers has their options described inside of  
        Documentation/scsi/.  
SECURITY Different security models are enabled.  
SELINUX SELinux 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.  
FTRACE    Function tracing 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.  
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.txt .  
X86    Either 32bit or 64bit x86 (same as X86-32+X86-64)

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 .

There are also arch-specific kernel-parameters not documented here.
See for example .

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.

acpi=        \[HW,ACPI,X86\]  
        Advanced Configuration and Power Interface  
        Format: { force | off | ht | strict | noirq | rsdt }  
        force -- enable ACPI if default was off  
        off -- disable ACPI if default was on  
        noirq -- do not use ACPI for IRQ routing  
        ht -- run only enough ACPI to enable Hyper Threading  
        strict -- Be less tolerant of platforms that are not  
            strictly ACPI specification compliant.  
        rsdt -- prefer RSDT over (default) XSDT

        See also Documentation/power/pm.txt, pci=noacpi

acpi\_apic\_instance=    \[ACPI, IOAPIC\]  
        Format: <int>  
        2: use 2nd APIC table, if available  
        1,0: use 1st APIC table  
        default: 0

acpi\_backlight=    \[HW,ACPI\]  
        acpi\_backlight=vendor  
        acpi\_backlight=video  
        If set to vendor, prefer vendor specific driver  
        (e.g. thinkpad\_acpi, sony\_acpi, etc.) instead  
        of the ACPI video.ko driver.

acpi.debug\_layer=    \[HW,ACPI,ACPI\_DEBUG\]  
acpi.debug\_level=    \[HW,ACPI,ACPI\_DEBUG\]  
        Format: <int>  
        CONFIG\_ACPI\_DEBUG must be enabled to produce any ACPI  
        debug output.  Bits in debug\_layer correspond to a  
        \_COMPONENT in an ACPI source file, e.g.,  
            #define \_COMPONENT ACPI\_PCI\_COMPONENT  
        Bits in debug\_level correspond to a level in  
        ACPI\_DEBUG\_PRINT statements, e.g.,  
            ACPI\_DEBUG\_PRINT((ACPI\_DB\_INFO, ...  
        The debug\_level mask defaults to "info".  See  
        Documentation/acpi/debug.txt for more information about  
        debug layers and levels.

        Enable processor driver info messages:  
            acpi.debug\_layer=0x20000000  
        Enable PCI/PCI interrupt routing info messages:  
            acpi.debug\_layer=0x400000  
        Enable AML "Debug" output, i.e., stores to the Debug  
        object while interpreting AML:  
            acpi.debug\_layer=0xffffffff acpi.debug\_level=0x2  
        Enable all messages related to ACPI hardware:  
            acpi.debug\_layer=0x2 acpi.debug\_level=0xffffffff

        Some values produce so much output that the system is  
        unusable.  The "log\_buf\_len" parameter may be useful  
        if you need to capture more output.

acpi\_display\_output=    \[HW,ACPI\]  
        acpi\_display\_output=vendor  
        acpi\_display\_output=video  
        See above.

acpi\_irq\_balance \[HW,ACPI\]  
        ACPI will balance active IRQs  
        default in APIC mode

acpi\_irq\_nobalance \[HW,ACPI\]  
        ACPI will not move active IRQs (default)  
        default in PIC mode

acpi\_irq\_isa=    \[HW,ACPI\] If irq\_balance, mark listed IRQs used by ISA  
        Format: <irq>,<irq>...

acpi\_irq\_pci=    \[HW,ACPI\] If irq\_balance, clear listed IRQs for  
        use by PCI  
        Format: <irq>,<irq>...

acpi\_no\_auto\_ssdt    \[HW,ACPI\] Disable automatic loading of SSDT

acpi\_os\_name=    \[HW,ACPI\] Tell ACPI BIOS the name of the OS  
        Format: To spoof as Windows 98: ="Microsoft Windows"

acpi\_osi=    \[HW,ACPI\] Modify list of supported OS interface strings  
        acpi\_osi="string1"    # add string1 -- only one string  
        acpi\_osi="!string2"    # remove built-in string2  
        acpi\_osi=        # disable all strings

acpi\_pm\_good    \[X86\]  
        Override the pmtimer bug detection: force the kernel  
        to assume that this machine's pmtimer latches its value  
        and always returns good values.

acpi\_sci=    \[HW,ACPI\] ACPI System Control Interrupt trigger mode  
        Format: { level | edge | high | low }

acpi\_serialize    \[HW,ACPI\] force serialization of AML methods

acpi\_skip\_timer\_override \[HW,ACPI\]  
        Recognize and ignore IRQ0/pin2 Interrupt Override.  
        For broken nForce2 BIOS resulting in XT-PIC timer.

acpi\_sleep=    \[HW,ACPI\] Sleep options  
        Format: { s3\_bios, s3\_mode, s3\_beep, s4\_nohwsig,  
              old\_ordering, s4\_nonvs }  
        See Documentation/power/video.txt for information on  
        s3\_bios and s3\_mode.  
        s3\_beep is for debugging; it makes the PC's speaker beep  
        as soon as the kernel's real-mode entry point is called.  
        s4\_nohwsig prevents ACPI hardware signature from being  
        used during resume from hibernation.  
        old\_ordering causes the ACPI 1.0 ordering of the \_PTS  
        control method, with respect to putting devices into  
        low power states, to be enforced (the ACPI 2.0 ordering  
        of \_PTS is used by default).  
        s4\_nonvs prevents the kernel from saving/restoring the  
        ACPI NVS memory during hibernation.

acpi\_use\_timer\_override \[HW,ACPI\]  
        Use timer override. For some broken Nvidia NF5 boards  
        that require a timer override, but don't have HPET

acpi\_enforce\_resources=    \[ACPI\]  
        { strict | lax | no }  
        Check for resource conflicts between native drivers  
        and ACPI OperationRegions (SystemIO and SystemMemory  
        only). IO ports and memory declared in ACPI might be  
        used by the ACPI subsystem in arbitrary AML code and  
        can interfere with legacy drivers.  
        strict (default): access to resources claimed by ACPI  
        is denied; legacy drivers trying to access reserved  
        resources will fail to bind to device using them.  
        lax: access to resources claimed by ACPI is allowed;  
        legacy drivers trying to access reserved resources  
        will bind successfully but a warning message is logged.  
        no: ACPI OperationRegions are not marked as reserved,  
        no further checks are performed.

ad1848=        \[HW,OSS\]  
        Format: <io>,<irq>,<dma>,<dma2>,<type>

add\_efi\_memmap    \[EFI; X86\] Include EFI memory map in  
        kernel's map of available physical RAM.

advansys=    \[HW,SCSI\]  
        See header of drivers/scsi/advansys.c.

advwdt=        \[HW,WDT\] Advantech WDT  
        Format: <iostart>,<iostop>

aedsp16=    \[HW,OSS\] Audio Excel DSP 16  
        Format: <io>,<irq>,<dma>,<mss\_io>,<mpu\_io>,<mpu\_irq>  
        See also header of sound/oss/aedsp16.c.

agp=        \[AGP\]  
        { off | try\_unsupported }  
        off: disable AGP support  
        try\_unsupported: try to drive unsupported chipsets  
            (may crash computer or cause data corruption)

aha152x=    \[HW,SCSI\]  
        See Documentation/scsi/aha152x.txt.

aha1542=    \[HW,SCSI\]  
        Format: <portbase>\[,<buson>,<busoff>\[,<dmaspeed>\]\]

aic7xxx=    \[HW,SCSI\]  
        See Documentation/scsi/aic7xxx.txt.

aic79xx=    \[HW,SCSI\]  
        See Documentation/scsi/aic79xx.txt.

amd\_iommu=    \[HW,X86-84\]  
        Pass parameters to the AMD IOMMU driver in the system.  
        Possible values are:  
        isolate - enable device isolation (each device, as far  
                  as possible, will get its own protection  
                  domain) \[default\]  
        share - put every device behind one IOMMU into the  
            same protection domain  
        fullflush - enable flushing of IO/TLB entries when  
                they are unmapped. Otherwise they are  
                flushed before they will be reused, which  
                is a lot of faster

amijoy.map=    \[HW,JOY\] Amiga joystick support  
        Map of devices attached to JOY0DAT and JOY1DAT  
        Format: <a>,<b>  
        See also Documentation/kernel/input/joystick.txt

analog.map=    \[HW,JOY\] Analog joystick and gamepad support  
        Specifies type or capabilities of an analog joystick  
        connected to one of 16 gameports  
        Format: <type1>,<type2>,..<type16>

apc=        \[HW,SPARC\]  
        Power management functions (SPARCstation-4/5 + deriv.)  
        Format: noidle  
        Disable APC CPU standby support. SPARCstation-Fox does  
        not play well with APC CPU idle - disable it if you have  
        APC and your system crashes randomly.

apic=        \[APIC,X86-32\] Advanced Programmable Interrupt Controller  
        Change the output verbosity whilst booting  
        Format: { quiet (default) | verbose | debug }  
        Change the amount of debugging information output  
        when initialising the APIC and IO-APIC components.

apm=        \[APM\] Advanced Power Management  
        See header of arch/x86/kernel/apm\_32.c.

arcrimi=    \[HW,NET\] ARCnet - "RIM I" (entirely mem-mapped) cards  
        Format: <io>,<irq>,<nodeID>

ataflop=    \[HW,M68k\]

atarimouse=    \[HW,MOUSE\] Atari Mouse

atascsi=    \[HW,SCSI\] Atari SCSI

atkbd.extra=    \[HW\] Enable extra LEDs and keys on IBM RapidAccess,  
        EzKey and similar keyboards

atkbd.reset=    \[HW\] Reset keyboard during initialization

atkbd.set=    \[HW\] Select keyboard code set  
        Format: <int> (2 = AT (default), 3 = PS/2)

atkbd.scroll=    \[HW\] Enable scroll wheel on MS Office and similar  
        keyboards

atkbd.softraw=    \[HW\] Choose between synthetic and real raw mode  
        Format: <bool> (0 = real, 1 = synthetic (default))

atkbd.softrepeat= \[HW\]  
        Use software keyboard repeat

autotest    \[IA64\]

baycom\_epp=    \[HW,AX25\]  
        Format: <io>,<mode>

baycom\_par=    \[HW,AX25\] BayCom Parallel Port AX.25 Modem  
        Format: <io>,<mode>  
        See header of drivers/net/hamradio/baycom\_par.c.

baycom\_ser\_fdx=    \[HW,AX25\]  
        BayCom Serial Port AX.25 Modem (Full Duplex Mode)  
        Format: <io>,<irq>,<mode>\[,<baud>\]  
        See header of drivers/net/hamradio/baycom\_ser\_fdx.c.

baycom\_ser\_hdx=    \[HW,AX25\]  
        BayCom Serial Port AX.25 Modem (Half Duplex Mode)  
        Format: <io>,<irq>,<mode>  
        See header of drivers/net/hamradio/baycom\_ser\_hdx.c.

boot\_delay=    Milliseconds to delay each printk during boot.  
        Values larger than 10 seconds (10000) are changed to  
        no delay (0).  
        Format: integer

bootmem\_debug    \[KNL\] Enable bootmem allocator debug messages.

bttv.card=    \[HW,V4L\] bttv (bt848 + bt878 based grabber cards)  
bttv.radio=    Most important insmod options are available as  
        kernel args too.  
bttv.pll=    See Documentation/video4linux/bttv/Insmod-options  
bttv.tuner=    and Documentation/video4linux/bttv/CARDLIST

BusLogic=    \[HW,SCSI\]  
        See drivers/scsi/BusLogic.c, comment before function  
        BusLogic\_ParseDriverOptions().

c101=        \[NET\] Moxa C101 synchronous serial card

cachesize=    \[BUGS=X86-32\] Override level 2 CPU cache size detection.  
        Sometimes CPU hardware bugs make them report the cache  
        size incorrectly. The kernel will attempt work arounds  
        to fix known problems, but for some CPUs it is not  
        possible to determine what the correct size should be.  
        This option provides an override for these situations.

capability.disable=  
        \[SECURITY\] Disable capabilities.  This would normally  
        be used only if an alternative security model is to be  
        configured.  Potentially dangerous and should only be  
        used if you are entirely sure of the consequences.

ccw\_timeout\_log \[S390\]  
        See Documentation/s390/CommonIO for details.

cgroup\_disable= \[KNL\] Disable a particular controller  
        Format: {name of the controller(s) to disable}  
            {Currently supported controllers - "memory"}

checkreqprot    \[SELINUX\] Set initial checkreqprot flag value.  
        Format: { "0" | "1" }  
        See security/selinux/Kconfig help text.  
        0 -- check protection applied by kernel (includes  
            any implied execute protection).  
        1 -- check protection requested by application.  
        Default value is set via a kernel config option.  
        Value can be changed at runtime via  
            /selinux/checkreqprot.

cio\_ignore=    \[S390\]  
        See Documentation/s390/CommonIO for details.

clock=        \[BUGS=X86-32, HW\] gettimeofday clocksource override.  
        \[Deprecated\]  
        Forces specified clocksource (if available) to be used  
        when calculating gettimeofday(). If specified  
        clocksource is not available, it defaults to PIT.  
        Format: { pit | tsc | cyclone | pmtmr }

clocksource=    \[GENERIC\_TIME\] Override the default clocksource  
        Format: <string>  
        Override the default clocksource and use the clocksource  
        with the name specified.  
        Some clocksource names to choose from, depending on  
        the platform:  
        \[all\] jiffies (this is the base, fallback clocksource)  
        \[ACPI\] acpi\_pm  
        \[ARM\] imx\_timer1,OSTS,netx\_timer,mpu\_timer2,  
            pxa\_timer,timer3,32k\_counter,timer0\_1  
        \[AVR32\] avr32  
        \[X86-32\] pit,hpet,tsc,vmi-timer;  
            scx200\_hrt on Geode; cyclone on IBM x440  
        \[MIPS\] MIPS  
        \[PARISC\] cr16  
        \[S390\] tod  
        \[SH\] SuperH  
        \[SPARC64\] tick  
        \[X86-64\] hpet,tsc

clearcpuid=BITNUM \[X86\]  
        Disable CPUID feature X for the kernel. See  
        arch/x86/include/asm/cpufeature.h for the valid bit  
        numbers. Note the Linux specific bits are not necessarily  
        stable over kernel options, but the vendor specific  
        ones should be.  
        Also note that user programs calling CPUID directly  
        or using the feature without checking anything  
        will still see it. This just prevents it from  
        being used by the kernel or shown in /proc/cpuinfo.  
        Also note the kernel might malfunction if you disable  
        some critical bits.

cmo\_free\_hint=    \[PPC\] Format: { yes | no }  
        Specify whether pages are marked as being inactive  
        when they are freed.  This is used in CMO environments  
        to determine OS memory pressure for page stealing by  
        a hypervisor.  
        Default: yes

code\_bytes    \[X86\] How many bytes of object code to print  
        in an oops report.  
        Range: 0 - 8192  
        Default: 64

com20020=    \[HW,NET\] ARCnet - COM20020 chipset  
        Format:  
        <io>\[,<irq>\[,<nodeID>\[,<backplane>\[,<ckp>\[,<timeout>\]\]\]\]\]

com90io=    \[HW,NET\] ARCnet - COM90xx chipset (IO-mapped buffers)  
        Format: <io>\[,<irq>\]

com90xx=    \[HW,NET\]  
        ARCnet - COM90xx chipset (memory-mapped buffers)  
        Format: <io>\[,<irq>\[,<memstart>\]\]

condev=        \[HW,S390\] console device  
conmode=

console=    \[KNL\] Output console device and options.

    tty<n>    Use the virtual console device <n>.

    ttyS<n>\[,options\]  
    ttyUSB0\[,options\]  
        Use the specified serial port.  The options are of  
        the form "bbbbpnf", where "bbbb" is the baud rate,  
        "p" is parity ("n", "o", or "e"), "n" is number of  
        bits, and "f" is flow control ("r" for RTS or  
        omit it).  Default is "9600n8".

        See Documentation/serial-console.txt for more  
        information.  See  
        Documentation/networking/netconsole.txt for an  
        alternative.

    uart\[8250\],io,<addr>\[,options\]  
    uart\[8250\],mmio,<addr>\[,options\]  
        Start an early, polled-mode console on the 8250/16550  
        UART at the specified I/O port or MMIO address,  
        switching to the matching ttyS device later.  The  
        options are the same as for ttyS, above.

            If the device connected to the port is not a TTY but a braille  
            device, prepend "brl," before the device type, for instance  
        console=brl,ttyS0  
    For now, only VisioBraille is supported.

consoleblank=    \[KNL\] The console blank (screen saver) timeout in  
        seconds. Defaults to 10\*60 = 10mins. A value of 0  
        disables the blank timer.

coredump\_filter=  
        \[KNL\] Change the default value for  
        /proc/<pid>/coredump\_filter.  
        See also Documentation/filesystems/proc.txt.

cpcihp\_generic=    \[HW,PCI\] Generic port I/O CompactPCI driver  
        Format:  
        <first\_slot>,<last\_slot>,<port>,<enum\_bit>\[,<debug>\]

crashkernel=nn\[KMG\]@ss\[KMG\]  
        \[KNL\] Reserve a chunk of physical memory to  
        hold a kernel to switch to with kexec on panic.

crashkernel=range1:size1\[,range2:size2,...\]\[@offset\]  
        \[KNL\] Same as above, but depends on the memory  
        in the running system. The syntax of range is  
        start-\[end\] where start and end are both  
        a memory unit (amount\[KMG\]). See also  
        Documentation/kdump/kdump.txt for a example.

cs89x0\_dma=    \[HW,NET\]  
        Format: <dma>

cs89x0\_media=    \[HW,NET\]  
        Format: { rj45 | aui | bnc }

dasd=        \[HW,NET\]  
        See header of drivers/s390/block/dasd\_devmap.c.

db9.dev\[2|3\]=    \[HW,JOY\] Multisystem joystick support via parallel port  
        (one device per port)  
        Format: <port#>,<type>  
        See also Documentation/input/joystick-parport.txt

debug        \[KNL\] Enable kernel debugging (events log level).

debug\_locks\_verbose=  
        \[KNL\] verbose self-tests  
        Format=<0|1>  
        Print debugging info while doing the locking API  
        self-tests.  
        We default to 0 (no extra messages), setting it to  
        1 will print \_a lot\_ more information - normally  
        only useful to kernel developers.

debug\_objects    \[KNL\] Enable object debugging

no\_debug\_objects  
        \[KNL\] Disable object debugging

debugpat    \[X86\] Enable PAT debugging

decnet.addr=    \[HW,NET\]  
        Format: <area>\[,<node>\]  
        See also Documentation/networking/decnet.txt.

default\_hugepagesz=  
        \[same as hugepagesz=\] The size of the default  
        HugeTLB page size. This is the size represented by  
        the legacy /proc/ hugepages APIs, used for SHM, and  
        default size when mounting hugetlbfs filesystems.  
        Defaults to the default architecture's huge page size  
        if not specified.

dhash\_entries=    \[KNL\]  
        Set number of hash buckets for dentry cache.

digi=        \[HW,SERIAL\]  
        IO parameters + enable/disable command.

digiepca=    \[HW,SERIAL\]  
        See drivers/char/README.epca and  
        Documentation/serial/digiepca.txt.

disable\_mtrr\_cleanup \[X86\]  
        The kernel tries to adjust MTRR layout from continuous  
        to discrete, to make X server driver able to add WB  
        entry later. This parameter disables that.

disable\_mtrr\_trim \[X86, Intel and AMD only\]  
        By default the kernel will trim any uncacheable  
        memory out of your available memory pool based on  
        MTRR settings.  This parameter disables that behavior,  
        possibly causing your machine to run very slowly.

disable\_timer\_pin\_1 \[X86\]  
        Disable PIN 1 of APIC timer  
        Can be useful to work around chipset bugs.

dmasound=    \[HW,OSS\] Sound subsystem buffers

dma\_debug=off    If the kernel is compiled with DMA\_API\_DEBUG support,  
        this option disables the debugging code at boot.

dma\_debug\_entries=<number>  
        This option allows to tune the number of preallocated  
        entries for DMA-API debugging code. One entry is  
        required per DMA-API allocation. Use this if the  
        DMA-API debugging code disables itself because the  
        architectural default is too low.

dma\_debug\_driver=<driver\_name>  
        With this option the DMA-API debugging driver  
        filter feature can be enabled at boot time. Just  
        pass the driver to filter for as the parameter.  
        The filter can be disabled or changed to another  
        driver later using sysfs.

dscc4.setup=    \[NET\]

dtc3181e=    \[HW,SCSI\]

dynamic\_printk    Enables pr\_debug()/dev\_dbg() calls if  
        CONFIG\_DYNAMIC\_PRINTK\_DEBUG has been enabled.  
        These can also be switched on/off via  
        <debugfs>/dynamic\_printk/modules

earlycon=    \[KNL\] Output early console device and options.  
    uart\[8250\],io,<addr>\[,options\]  
    uart\[8250\],mmio,<addr>\[,options\]  
        Start an early, polled-mode console on the 8250/16550  
        UART at the specified I/O port or MMIO address.  
        The options are the same as for ttyS, above.

earlyprintk=    \[X86,SH,BLACKFIN\]  
        earlyprintk=vga  
        earlyprintk=serial\[,ttySn\[,baudrate\]\]  
        earlyprintk=ttySn\[,baudrate\]  
        earlyprintk=dbgp\[debugController#\]

        Append ",keep" to not disable it when the real console  
        takes over.

        Only vga or serial or usb debug port at a time.

        Currently only ttyS0 and ttyS1 are supported.

        Interaction with the standard serial driver is not  
        very good.

        The VGA output is eventually overwritten by the real  
        console.

eata=        \[HW,SCSI\]

edd=        \[EDD\]  
        Format: {"off" | "on" | "skip\[mbr\]"}

eisa\_irq\_edge=    \[PARISC,HW\]  
        See header of drivers/parisc/eisa.c.

elanfreq=    \[X86-32\]  
        See comment before function elanfreq\_setup() in  
        arch/x86/kernel/cpu/cpufreq/elanfreq.c.

elevator=    \[IOSCHED\]  
        Format: {"anticipatory" | "cfq" | "deadline" | "noop"}  
        See Documentation/block/as-iosched.txt and  
        Documentation/block/deadline-iosched.txt for details.

elfcorehdr=    \[IA64,PPC,SH,X86\]  
        Specifies physical address of start of kernel core  
        image elf header. Generally kexec loader will  
        pass this option to capture kernel.  
        See Documentation/kdump/kdump.txt for details.

enable\_mtrr\_cleanup \[X86\]  
        The kernel tries to adjust MTRR layout from continuous  
        to discrete, to make X server driver able to add WB  
        entry later. This parameter enables that.

enable\_timer\_pin\_1 \[X86\]  
        Enable PIN 1 of APIC timer  
        Can be useful to work around chipset bugs  
        (in particular on some ATI chipsets).  
        The kernel tries to set a reasonable default.

enforcing    \[SELINUX\] Set initial enforcing status.  
        Format: {"0" | "1"}  
        See security/selinux/Kconfig help text.  
        0 -- permissive (log only, no denials).  
        1 -- enforcing (deny and log).  
        Default value is 0.  
        Value can be changed at runtime via /selinux/enforce.

ether=        \[HW,NET\] Ethernet cards parameters  
        This option is obsoleted by the "netdev=" option, which  
        has equivalent usage. See its documentation for details.

eurwdt=        \[HW,WDT\] Eurotech CPU-1220/1410 onboard watchdog.  
        Format: <io>\[,<irq>\]

failslab=  
fail\_page\_alloc=  
fail\_make\_request=\[KNL\]  
        General fault injection mechanism.  
        Format: <interval>,<probability>,<space>,<times>  
        See also /Documentation/fault-injection/.

fd\_mcs=        \[HW,SCSI\]  
        See header of drivers/scsi/fd\_mcs.c.

fdomain=    \[HW,SCSI\]  
        See header of drivers/scsi/fdomain.c.

floppy=        \[HW\]  
        See Documentation/blockdev/floppy.txt.

force\_pal\_cache\_flush  
        \[IA-64\] Avoid check\_sal\_cache\_flush which may hang on  
        buggy SAL\_CACHE\_FLUSH implementations. Using this  
        parameter will force ia64\_sal\_cache\_flush to call  
        ia64\_pal\_cache\_flush instead of SAL\_CACHE\_FLUSH.

ftrace=\[tracer\]  
        \[FTRACE\] will set and start the specified tracer  
        as early as possible in order to facilitate early  
        boot debugging.

ftrace\_dump\_on\_oops  
        \[FTRACE\] will dump the trace buffers on oops.

ftrace\_filter=\[function-list\]  
        \[FTRACE\] Limit the functions traced by the function  
        tracer at boot up. function-list is a comma separated  
        list of functions. This list can be changed at run  
        time by the set\_ftrace\_filter file in the debugfs  
        tracing directory. 

ftrace\_notrace=\[function-list\]  
        \[FTRACE\] Do not trace the functions specified in  
        function-list. This list can be changed at run time  
        by the set\_ftrace\_notrace file in the debugfs  
        tracing directory.

gamecon.map\[2|3\]=  
        \[HW,JOY\] Multisystem joystick and NES/SNES/PSX pad  
        support via parallel port (up to 5 devices per port)  
        Format: <port#>,<pad1>,<pad2>,<pad3>,<pad4>,<pad5>  
        See also Documentation/input/joystick-parport.txt

gamma=        \[HW,DRM\]

gart\_fix\_e820=  \[X86\_64\] disable the fix e820 for K8 GART  
        Format: off | on  
        default: on

gcov\_persist=    \[GCOV\] When non-zero (default), profiling data for  
        kernel modules is saved and remains accessible via  
        debugfs, even when the module is unloaded/reloaded.  
        When zero, profiling data is discarded and associated  
        debugfs files are removed at module unload time.

gdth=        \[HW,SCSI\]  
        See header of drivers/scsi/gdth.c.

gpt        \[EFI\] Forces disk with valid GPT signature but  
        invalid Protective MBR to be treated as GPT.

gvp11=        \[HW,SCSI\]

hashdist=    \[KNL,NUMA\] Large hashes allocated during boot  
        are distributed across NUMA nodes.  Defaults on  
        for 64bit NUMA, off otherwise.  
        Format: 0 | 1 (for off | on)

hcl=        \[IA-64\] SGI's Hardware Graph compatibility layer

hd=        \[EIDE\] (E)IDE hard drive subsystem geometry  
        Format: <cyl>,<head>,<sect>

highmem=nn\[KMG\]    \[KNL,BOOT\] forces the highmem zone to have an exact  
        size of <nn>. This works even on boxes that have no  
        highmem otherwise. This also works to reduce highmem  
        size on bigger boxes.

highres=    \[KNL\] Enable/disable high resolution timer mode.  
        Valid parameters: "on", "off"  
        Default: "on"

hisax=        \[HW,ISDN\]  
        See Documentation/isdn/README.HiSax.

hlt        \[BUGS=ARM,SH\]

hpet=        \[X86-32,HPET\] option to control HPET usage  
        Format: { enable (default) | disable | force |  
            verbose }  
        disable: disable HPET and use PIT instead  
        force: allow force enabled of undocumented chips (ICH4,  
            VIA, nVidia)  
        verbose: show contents of HPET registers during setup

hugepages=    \[HW,X86-32,IA-64\] HugeTLB pages to allocate at boot.  
hugepagesz=    \[HW,IA-64,PPC,X86-64\] The size of the HugeTLB pages.  
        On x86-64 and powerpc, this option can be specified  
        multiple times interleaved with hugepages= to reserve  
        huge pages of different sizes. Valid pages sizes on  
        x86-64 are 2M (when the CPU supports "pse") and 1G  
        (when the CPU supports the "pdpe1gb" cpuinfo flag)  
        Note that 1GB pages can only be allocated at boot time  
        using hugepages= and not freed afterwards.

hvc\_iucv=    \[S390\] Number of z/VM IUCV hypervisor console (HVC)  
               terminal devices. Valid values: 0..8  
hvc\_iucv\_allow=    \[S390\] Comma-separated list of z/VM user IDs.  
               If specified, z/VM IUCV HVC accepts connections  
               from listed z/VM user IDs only.

i2c\_bus=    \[HW\] Override the default board specific I2C bus speed  
             or register an additional I2C bus that is not  
             registered from board initialization code.  
             Format:  
             <bus\_id>,<clkrate>

i8042.debug    \[HW\] Toggle i8042 debug mode  
i8042.direct    \[HW\] Put keyboard port into non-translated mode  
i8042.dumbkbd    \[HW\] Pretend that controller can only read data from  
             keyboard and cannot control its state  
             (Don't attempt to blink the leds)  
i8042.noaux    \[HW\] Don't check for auxiliary (== mouse) port  
i8042.nokbd    \[HW\] Don't check/create keyboard port  
i8042.noloop    \[HW\] Disable the AUX Loopback command while probing  
             for the AUX port  
i8042.nomux    \[HW\] Don't check presence of an active multiplexing  
             controller  
i8042.nopnp    \[HW\] Don't use ACPIPnP / PnPBIOS to discover KBD/AUX  
             controllers  
i8042.panicblink=  
        \[HW\] Frequency with which keyboard LEDs should blink  
             when kernel panics (default is 0.5 sec)  
i8042.reset    \[HW\] Reset the controller during init and cleanup  
i8042.unlock    \[HW\] Unlock (ignore) the keylock

i810=        \[HW,DRM\]

i8k.ignore\_dmi    \[HW\] Continue probing hardware even if DMI data  
        indicates that the driver is running on unsupported  
        hardware.  
i8k.force    \[HW\] Activate i8k driver even if SMM BIOS signature  
        does not match list of supported models.  
i8k.power\_status  
        \[HW\] Report power status in /proc/i8k  
        (disabled by default)  
i8k.restricted    \[HW\] Allow controlling fans only if SYS\_ADMIN  
        capability is set.

ibmmcascsi=    \[HW,MCA,SCSI\] IBM MicroChannel SCSI adapter  
        See Documentation/mca.txt.

icn=        \[HW,ISDN\]  
        Format: <io>\[,<membase>\[,<icn\_id>\[,<icn\_id2>\]\]\]

ide-core.nodma=    \[HW\] (E)IDE subsystem  
        Format: =0.0 to prevent dma on hda, =0.1 hdb =1.0 hdc  
        .vlb\_clock .pci\_clock .noflush .nohpa .noprobe .nowerr  
        .cdrom .chs .ignore\_cable are additional options  
        See Documentation/ide/ide.txt.

ide-pci-generic.all-generic-ide \[HW\] (E)IDE subsystem  
        Claim all unknown PCI IDE storage controllers.

idle=        \[X86\]  
        Format: idle=poll, idle=mwait, idle=halt, idle=nomwait  
        Poll forces a polling idle loop that can slightly  
        improve the performance of waking up a idle CPU, but  
        will use a lot of power and make the system run hot.  
        Not recommended.  
        idle=mwait: On systems which support MONITOR/MWAIT but  
        the kernel chose to not use it because it doesn't save  
        as much power as a normal idle loop, use the  
        MONITOR/MWAIT idle loop anyways. Performance should be  
        the same as idle=poll.  
        idle=halt: Halt is forced to be used for CPU idle.  
        In such case C2/C3 won't be used again.  
        idle=nomwait: Disable mwait for CPU C-states

ignore\_loglevel    \[KNL\]  
        Ignore loglevel setting - this will print /all/  
        kernel messages to the console. Useful for debugging.

ihash\_entries=    \[KNL\]  
        Set number of hash buckets for inode cache.

ima\_audit=    \[IMA\]  
        Format: { "0" | "1" }  
        0 -- integrity auditing messages. (Default)  
        1 -- enable informational integrity auditing messages.

ima\_hash=    \[IMA\]  
        Format: { "sha1" | "md5" }  
        default: "sha1"

ima\_tcb        \[IMA\]  
        Load a policy which meets the needs of the Trusted  
        Computing Base.  This means IMA will measure all  
        programs exec'd, files mmap'd for exec, and all files  
        opened for read by uid=0.

in2000=        \[HW,SCSI\]  
        See header of drivers/scsi/in2000.c.

init=        \[KNL\]  
        Format: <full\_path>  
        Run specified binary instead of /sbin/init as init  
        process.

initcall\_debug    \[KNL\] Trace initcalls as they are executed.  Useful  
        for working out where the kernel is dying during  
        startup.

initrd=        \[BOOT\] Specify the location of the initial ramdisk

inport.irq=    \[HW\] Inport (ATI XL and Microsoft) busmouse driver  
        Format: <irq>

intel\_iommu=    \[DMAR\] Intel IOMMU driver (DMAR) option  
    on  
        Enable intel iommu driver.  
    off  
        Disable intel iommu driver.  
    igfx\_off \[Default Off\]  
        By default, gfx is mapped as normal device. If a gfx  
        device has a dedicated DMAR unit, the DMAR unit is  
        bypassed by not enabling DMAR with this option. In  
        this case, gfx device will use physical address for  
        DMA.  
    forcedac \[x86\_64\]  
        With this option iommu will not optimize to look  
        for io virtual address below 32 bit forcing dual  
        address cycle on pci bus for cards supporting greater  
        than 32 bit addressing. The default is to look  
        for translation below 32 bit and if not available  
        then look in the higher range.  
    strict \[Default Off\]  
        With this option on every unmap\_single operation will  
        result in a hardware IOTLB flush operation as opposed  
        to batching them for performance.

inttest=    \[IA64\]

iomem=        Disable strict checking of access to MMIO memory  
    strict    regions from userspace.  
    relaxed

iommu=        \[x86\]  
    off  
    force  
    noforce  
    biomerge  
    panic  
    nopanic  
    merge  
    nomerge  
    forcesac  
    soft  
    pt    \[x86, IA64\]

io7=        \[HW\] IO7 for Marvel based alpha systems  
        See comment before marvel\_specify\_io7 in  
        arch/alpha/kernel/core\_marvel.c.

io\_delay=    \[X86\] I/O delay method  
    0x80  
        Standard port 0x80 based delay  
    0xed  
        Alternate port 0xed based delay (needed on some systems)  
    udelay  
        Simple two microseconds delay  
    none  
        No delay

ip=        \[IP\_PNP\]  
        See Documentation/filesystems/nfsroot.txt.

ip2=        \[HW\] Set IO/IRQ pairs for up to 4 IntelliPort boards  
        See comment before ip2\_setup() in  
        drivers/char/ip2/ip2base.c.

ips=        \[HW,SCSI\] Adaptec / IBM ServeRAID controller  
        See header of drivers/scsi/ips.c.

irqfixup    \[HW\]  
        When an interrupt is not handled search all handlers  
        for it. Intended to get systems with badly broken  
        firmware running.

irqpoll        \[HW\]  
        When an interrupt is not handled search all handlers  
        for it. Also check all handlers each timer  
        interrupt. Intended to get systems with badly broken  
        firmware running.

isapnp=        \[ISAPNP\]  
        Format: <RDP>,<reset>,<pci\_scan>,<verbosity>

isolcpus=    \[KNL,SMP\] Isolate CPUs from the general scheduler.  
        Format:  
        <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>

        This option can be used to specify one or more CPUs  
        to isolate from the general SMP balancing and scheduling  
        algorithms. You can move a process onto or off an  
        "isolated" CPU via the CPU affinity syscalls or cpuset.  
        <cpu number> begins at 0 and the maximum value is  
        "number of CPUs in system - 1".

        This option is the preferred way to isolate CPUs. The  
        alternative -- manually setting the CPU mask of all  
        tasks in the system -- can cause problems and  
        suboptimal load balancer performance.

iucv=        \[HW,NET\]

js=        \[HW,JOY\] Analog joystick  
        See Documentation/input/joystick.txt.

keepinitrd    \[HW,ARM\]

kernelcore=nn\[KMG\]    \[KNL,X86,IA-64,PPC\] This parameter  
        specifies the amount of memory usable by the kernel  
        for non-movable allocations.  The requested amount is  
        spread evenly throughout all nodes in the system. The  
        remaining memory in each node is used for Movable  
        pages. In the event, a node is too small to have both  
        kernelcore and Movable pages, kernelcore pages will  
        take priority and other nodes will have a larger number  
        of kernelcore pages.  The Movable zone is used for the  
        allocation of pages that may be reclaimed or moved  
        by the page migration subsystem.  This means that  
        HugeTLB pages may not be allocated from this zone.  
        Note that allocations like PTEs-from-HighMem still  
        use the HighMem zone if it exists, and the Normal  
        zone if it does not.

kgdboc=        \[HW\] kgdb over consoles.  
        Requires a tty driver that supports console polling.  
        (only serial supported for now)  
        Format: <serial\_device>\[,baud\]

kmac=        \[MIPS\] korina ethernet MAC address.  
        Configure the RouterBoard 532 series on-chip  
        Ethernet adapter MAC address.

kmemleak=    \[KNL\] Boot-time kmemleak enable/disable  
        Valid arguments: on, off  
        Default: on

kstack=N    \[X86\] Print N words from the kernel stack  
        in oops dumps.

kvm.ignore\_msrs=\[KVM\] Ignore guest accesses to unhandled MSRs.  
        Default is 0 (don't ignore, but inject #GP)

kvm.oos\_shadow=    \[KVM\] Disable out-of-sync shadow paging.  
        Default is 1 (enabled)

kvm-amd.nested=    \[KVM,AMD\] Allow nested virtualization in KVM/SVM.  
        Default is 0 (off)

kvm-amd.npt=    \[KVM,AMD\] Disable nested paging (virtualized MMU)  
        for all guests.  
        Default is 1 (enabled) if in 64bit or 32bit-PAE mode

kvm-intel.bypass\_guest\_pf=  
        \[KVM,Intel\] Disables bypassing of guest page faults  
        on Intel chips. Default is 1 (enabled)

kvm-intel.ept=    \[KVM,Intel\] Disable extended page tables  
        (virtualized MMU) support on capable Intel chips.  
        Default is 1 (enabled)

kvm-intel.emulate\_invalid\_guest\_state=  
        \[KVM,Intel\] Enable emulation of invalid guest states  
        Default is 0 (disabled)

kvm-intel.flexpriority=  
        \[KVM,Intel\] Disable FlexPriority feature (TPR shadow).  
        Default is 1 (enabled)

kvm-intel.unrestricted\_guest=  
        \[KVM,Intel\] Disable unrestricted guest feature  
        (virtualized real and unpaged mode) on capable  
        Intel chips. Default is 1 (enabled)

kvm-intel.vpid=    \[KVM,Intel\] Disable Virtual Processor Identification  
        feature (tagged TLBs) on capable Intel chips.  
        Default is 1 (enabled)

l2cr=        \[PPC\]

l3cr=        \[PPC\]

lapic        \[X86-32,APIC\] Enable the local APIC even if BIOS  
        disabled it.

lapic\_timer\_c2\_ok    \[X86,APIC\] trust the local apic timer  
        in C2 power state.

libata.dma=    \[LIBATA\] DMA control  
        libata.dma=0      Disable all PATA and SATA DMA  
        libata.dma=1      PATA and SATA Disk DMA only  
        libata.dma=2      ATAPI (CDROM) DMA only  
        libata.dma=4      Compact Flash DMA only  
        Combinations also work, so libata.dma=3 enables DMA  
        for disks and CDROMs, but not CFs.

libata.ignore\_hpa=    \[LIBATA\] Ignore HPA limit  
        libata.ignore\_hpa=0      keep BIOS limits (default)  
        libata.ignore\_hpa=1      ignore limits, using full disk

libata.noacpi    \[LIBATA\] Disables use of ACPI in libata suspend/resume  
        when set.  
        Format: <int>

libata.force=    \[LIBATA\] Force configurations.  The format is comma  
        separated list of "\[ID:\]VAL" where ID is  
        PORT\[:DEVICE\].  PORT and DEVICE are decimal numbers  
        matching port, link or device.  Basically, it matches  
        the ATA ID string printed on console by libata.  If  
        the whole ID part is omitted, the last PORT and DEVICE  
        values are used.  If ID hasn't been specified yet, the  
        configuration applies to all ports, links and devices.

        If only DEVICE is omitted, the parameter applies to  
        the port and all links and devices behind it.  DEVICE  
        number of 0 either selects the first device or the  
        first fan-out link behind PMP device.  It does not  
        select the host link.  DEVICE number of 15 selects the  
        host link and device attached to it.

        The VAL specifies the configuration to force.  As long  
        as there's no ambiguity shortcut notation is allowed.  
        For example, both 1.5 and 1.5G would work for 1.5Gbps.  
        The following configurations can be forced.

        \* Cable type: 40c, 80c, short40c, unk, ign or sata.  
          Any ID with matching PORT is used.

        \* SATA link speed limit: 1.5Gbps or 3.0Gbps.

        \* Transfer mode: pio\[0-7\], mwdma\[0-4\] and udma\[0-7\].  
          udma\[/\]\[16,25,33,44,66,100,133\] notation is also  
          allowed.

        \* \[no\]ncq: Turn on or off NCQ.

        \* nohrst, nosrst, norst: suppress hard, soft  
                      and both resets.

        If there are multiple matching configurations changing  
        the same attribute, the last one is used.

lmb=debug    \[KNL\] Enable lmb debug messages.

load\_ramdisk=    \[RAM\] List of ramdisks to load from floppy  
        See Documentation/blockdev/ramdisk.txt.

lockd.nlm\_grace\_period=P  \[NFS\] Assign grace period.  
        Format: <integer>

lockd.nlm\_tcpport=N    \[NFS\] Assign TCP port.  
        Format: <integer>

lockd.nlm\_timeout=T    \[NFS\] Assign timeout value.  
        Format: <integer>

lockd.nlm\_udpport=M    \[NFS\] Assign UDP port.  
        Format: <integer>

logibm.irq=    \[HW,MOUSE\] Logitech Bus Mouse Driver  
        Format: <irq>

loglevel=    All Kernel Messages with a loglevel smaller than the  
        console loglevel will be printed to the console. It can  
        also be changed with klogd or other programs. The  
        loglevels are defined as follows:

        0 (KERN\_EMERG)        system is unusable  
        1 (KERN\_ALERT)        action must be taken immediately  
        2 (KERN\_CRIT)        critical conditions  
        3 (KERN\_ERR)        error conditions  
        4 (KERN\_WARNING)    warning conditions  
        5 (KERN\_NOTICE)        normal but significant condition  
        6 (KERN\_INFO)        informational  
        7 (KERN\_DEBUG)        debug-level messages

log\_buf\_len=n    Sets the size of the printk ring buffer, in bytes.  
        Format: { n | nk | nM }  
        n must be a power of two.  The default size  
        is set in the kernel config file.

logo.nologo    \[FB\] Disables display of the built-in Linux logo.  
        This may be used to provide more screen space for  
        kernel log messages and is useful when debugging  
        kernel boot problems.

lp=0        \[LP\]    Specify parallel ports to use, e.g,  
lp=port\[,port...\]    lp=none,parport0 (lp0 not configured, lp1 uses  
lp=reset        first parallel port). 'lp=0' disables the  
lp=auto            printer driver. 'lp=reset' (which can be  
            specified in addition to the ports) causes  
            attached printers to be reset. Using  
            lp=port1,port2,... specifies the parallel ports  
            to associate lp devices with, starting with  
            lp0. A port specification may be 'none' to skip  
            that lp device, or a parport name such as  
            'parport0'. Specifying 'lp=auto' instead of a  
            port specification list means that device IDs  
            from each port should be examined, to see if  
            an IEEE 1284-compliant printer is attached; if  
            so, the driver will manage that printer.  
            See also header of drivers/char/lp.c.

lpj=n        \[KNL\]  
        Sets loops\_per\_jiffy to given constant, thus avoiding  
        time-consuming boot-time autodetection (up to 250 ms per  
        CPU). 0 enables autodetection (default). To determine  
        the correct value for your kernel, boot with normal  
        autodetection and see what value is printed. Note that  
        on SMP systems the preset will be applied to all CPUs,  
        which is likely to cause problems if your CPUs need  
        significantly divergent settings. An incorrect value  
        will cause delays in the kernel to be wrong, leading to  
        unpredictable I/O errors and other breakage. Although  
        unlikely, in the extreme case this might damage your  
        hardware.

ltpc=        \[NET\]  
        Format: <io>,<irq>,<dma>

mac5380=    \[HW,SCSI\] Format:  
        <can\_queue>,<cmd\_per\_lun>,<sg\_tablesize>,<hostid>,<use\_tags>

machvec=    \[IA64\] Force the use of a particular machine-vector  
        (machvec) in a generic kernel.  
        Example: machvec=hpzx1\_swiotlb

machtype=    \[Loongson\] Share the same kernel image file between different  
         yeeloong laptop.  
        Example: machtype=lemote-yeeloong-2f-7inch

max\_addr=nn\[KMG\]    \[KNL,BOOT,ia64\] All physical memory greater  
        than or equal to this physical address is ignored.

maxcpus=    \[SMP\] Maximum number of processors that    an SMP kernel  
        should make use of.  maxcpus=n : n >= 0 limits the  
        kernel to using 'n' processors.  n=0 is a special case,  
        it is equivalent to "nosmp", which also disables  
        the IO APIC.

max\_loop=    \[LOOP\] Maximum number of loopback devices that can  
        be mounted  
        Format: <1-256>

max\_luns=    \[SCSI\] Maximum number of LUNs to probe.  
        Should be between 1 and 2^32-1.

max\_report\_luns=  
        \[SCSI\] Maximum number of LUNs received.  
        Should be between 1 and 16384.

mcatest=    \[IA-64\]

mce        \[X86-32\] Machine Check Exception

mce=option    \[X86-64\] See Documentation/x86/x86\_64/boot-options.txt

md=        \[HW\] RAID subsystems devices and level  
        See Documentation/md.txt.

mdacon=        \[MDA\]  
        Format: <first>,<last>  
        Specifies range of consoles to be captured by the MDA.

mem=nn\[KMG\]    \[KNL,BOOT\] Force usage of a specific amount of memory  
        Amount of memory to be used when the kernel is not able  
        to see the whole system memory or for test.  
        \[X86-32\] Use together with memmap= to avoid physical  
        address space collisions. Without memmap= PCI devices  
        could be placed at addresses belonging to unused RAM.

mem=nopentium    \[BUGS=X86-32\] Disable usage of 4MB pages for kernel  
        memory.

memchunk=nn\[KMG\]  
        \[KNL,SH\] Allow user to override the default size for  
        per-device physically contiguous DMA buffers.

memmap=exactmap    \[KNL,X86\] Enable setting of an exact  
        E820 memory map, as specified by the user.  
        Such memmap=exactmap lines can be constructed based on  
        BIOS output or other requirements. See the memmap=nn@ss  
        option description.

memmap=nn\[KMG\]@ss\[KMG\]  
        \[KNL\] Force usage of a specific region of memory  
        Region of memory to be used, from ss to ss+nn.

memmap=nn\[KMG\]#ss\[KMG\]  
        \[KNL,ACPI\] Mark specific memory as ACPI data.  
        Region of memory to be used, from ss to ss+nn.

memmap=nn\[KMG\]$ss\[KMG\]  
        \[KNL,ACPI\] Mark specific memory as reserved.  
        Region of memory to be used, from ss to ss+nn.  
        Example: Exclude memory from 0x18690000-0x1869ffff  
                 memmap=64K$0x18690000  
                 or  
                 memmap=0x10000$0x18690000

memory\_corruption\_check=0/1 \[X86\]  
        Some BIOSes seem to corrupt the first 64k of  
        memory when doing things like suspend/resume.  
        Setting this option will scan the memory  
        looking for corruption.  Enabling this will  
        both detect corruption and prevent the kernel  
        from using the memory being corrupted.  
        However, its intended as a diagnostic tool; if  
        repeatable BIOS-originated corruption always  
        affects the same memory, you can use memmap=  
        to prevent the kernel from using that memory.

memory\_corruption\_check\_size=size \[X86\]  
        By default it checks for corruption in the low  
        64k, making this memory unavailable for normal  
        use.  Use this parameter to scan for  
        corruption in more or less memory.

memory\_corruption\_check\_period=seconds \[X86\]  
        By default it checks for corruption every 60  
        seconds.  Use this parameter to check at some  
        other rate.  0 disables periodic checking.

memtest=    \[KNL,X86\] Enable memtest  
        Format: <integer>  
        default : 0 <disable>  
        Specifies the number of memtest passes to be  
        performed. Each pass selects another test  
        pattern from a given set of patterns. Memtest  
        fills the memory with this pattern, validates  
        memory contents and reserves bad memory  
        regions that are detected.

meye.\*=        \[HW\] Set MotionEye Camera parameters  
        See Documentation/video4linux/meye.txt.

mfgpt\_irq=    \[IA-32\] Specify the IRQ to use for the  
        Multi-Function General Purpose Timers on AMD Geode  
        platforms.

mfgptfix    \[X86-32\] Fix MFGPT timers on AMD Geode platforms when  
        the BIOS has incorrectly applied a workaround. TinyBIOS  
        version 0.98 is known to be affected, 0.99 fixes the  
        problem by letting the user disable the workaround.

mga=        \[HW,DRM\]

min\_addr=nn\[KMG\]    \[KNL,BOOT,ia64\] All physical memory below this  
        physical address is ignored.

mini2440=    \[ARM,HW,KNL\]  
        Format:\[0..2\]\[b\]\[c\]\[t\]  
        Default: "0tb"  
        MINI2440 configuration specification:  
        0 - The attached screen is the 3.5" TFT  
        1 - The attached screen is the 7" TFT  
        2 - The VGA Shield is attached (1024x768)  
        Leaving out the screen size parameter will not load  
        the TFT driver, and the framebuffer will be left  
        unconfigured.  
        b - Enable backlight. The TFT backlight pin will be  
        linked to the kernel VESA blanking code and a GPIO  
        LED. This parameter is not necessary when using the  
        VGA shield.  
        c - Enable the s3c camera interface.  
        t - Reserved for enabling touchscreen support. The  
        touchscreen support is not enabled in the mainstream  
        kernel as of 2.6.30, a preliminary port can be found  
        in the "bleeding edge" mini2440 support kernel at  
        http://repo.or.cz/w/linux-2.6/mini2440.git

mminit\_loglevel=  
        \[KNL\] When CONFIG\_DEBUG\_MEMORY\_INIT is set, this  
        parameter allows control of the logging verbosity for  
        the additional memory initialisation checks. A value  
        of 0 disables mminit logging and a level of 4 will  
        log everything. Information is printed at KERN\_DEBUG  
        so loglevel=8 may also need to be specified.

mousedev.tap\_time=  
        \[MOUSE\] Maximum time between finger touching and  
        leaving touchpad surface for touch to be considered  
        a tap and be reported as a left button click (for  
        touchpads working in absolute mode only).  
        Format: <msecs>  
mousedev.xres=    \[MOUSE\] Horizontal screen resolution, used for devices  
        reporting absolute coordinates, such as tablets  
mousedev.yres=    \[MOUSE\] Vertical screen resolution, used for devices  
        reporting absolute coordinates, such as tablets

movablecore=nn\[KMG\]    \[KNL,X86,IA-64,PPC\] This parameter  
        is similar to kernelcore except it specifies the  
        amount of memory used for migratable allocations.  
        If both kernelcore and movablecore is specified,  
        then kernelcore will be at \*least\* the specified  
        value but may be more. If movablecore on its own  
        is specified, the administrator must be careful  
        that the amount of memory usable for all allocations  
        is not too small.

mpu401=        \[HW,OSS\]  
        Format: <io>,<irq>

MTD\_Partition=    \[MTD\]  
        Format: <name>,<region-number>,<size>,<offset>

MTD\_Region=    \[MTD\] Format:  
        <name>,<region-number>\[,<base>,<size>,<buswidth>,<altbuswidth>\]

mtdparts=    \[MTD\]  
        See drivers/mtd/cmdlinepart.c.

onenand.bdry=    \[HW,MTD\] Flex-OneNAND Boundary Configuration

        Format: \[die0\_boundary\]\[,die0\_lock\]\[,die1\_boundary\]\[,die1\_lock\]

        boundary - index of last SLC block on Flex-OneNAND.  
               The remaining blocks are configured as MLC blocks.  
        lock     - Configure if Flex-OneNAND boundary should be locked.  
               Once locked, the boundary cannot be changed.  
               1 indicates lock status, 0 indicates unlock status.

mtdset=        \[ARM\]  
        ARM/S3C2412 JIVE boot control

        See arch/arm/mach-s3c2412/mach-jive.c

mtouchusb.raw\_coordinates=  
        \[HW\] Make the MicroTouch USB driver use raw coordinates  
        ('y', default) or cooked coordinates ('n')

mtrr\_chunk\_size=nn\[KMG\] \[X86\]  
        used for mtrr cleanup. It is largest continuous chunk  
        that could hold holes aka. UC entries.

mtrr\_gran\_size=nn\[KMG\] \[X86\]  
        Used for mtrr cleanup. It is granularity of mtrr block.  
        Default is 1.  
        Large value could prevent small alignment from  
        using up MTRRs.

mtrr\_spare\_reg\_nr=n \[X86\]  
        Format: <integer>  
        Range: 0,7 : spare reg number  
        Default : 1  
        Used for mtrr cleanup. It is spare mtrr entries number.  
        Set to 2 or more if your graphical card needs more.

n2=        \[NET\] SDL Inc. RISCom/N2 synchronous serial card

NCR\_D700=    \[HW,SCSI\]  
        See header of drivers/scsi/NCR\_D700.c.

ncr5380=    \[HW,SCSI\]

ncr53c400=    \[HW,SCSI\]

ncr53c400a=    \[HW,SCSI\]

ncr53c406a=    \[HW,SCSI\]

ncr53c8xx=    \[HW,SCSI\]

netdev=        \[NET\] Network devices parameters  
        Format: <irq>,<io>,<mem\_start>,<mem\_end>,<name>  
        Note that mem\_start is often overloaded to mean  
        something different and driver-specific.  
        This usage is only documented in each driver source  
        file if at all.

nf\_conntrack.acct=  
        \[NETFILTER\] Enable connection tracking flow accounting  
        0 to disable accounting  
        1 to enable accounting  
        Default value depends on CONFIG\_NF\_CT\_ACCT that is  
        going to be removed in 2.6.29.

nfsaddrs=    \[NFS\]  
        See Documentation/filesystems/nfsroot.txt.

nfsroot=    \[NFS\] nfs root filesystem for disk-less boxes.  
        See Documentation/filesystems/nfsroot.txt.

nfs.callback\_tcpport=  
        \[NFS\] set the TCP port on which the NFSv4 callback  
        channel should listen.

nfs.cache\_getent=  
        \[NFS\] sets the pathname to the program which is used  
        to update the NFS client cache entries.

nfs.cache\_getent\_timeout=  
        \[NFS\] sets the timeout after which an attempt to  
        update a cache entry is deemed to have failed.

nfs.idmap\_cache\_timeout=  
        \[NFS\] set the maximum lifetime for idmapper cache  
        entries.

nfs.enable\_ino64=  
        \[NFS\] enable 64-bit inode numbers.  
        If zero, the NFS client will fake up a 32-bit inode  
        number for the readdir() and stat() syscalls instead  
        of returning the full 64-bit number.  
        The default is to return 64-bit inode numbers.

nmi\_debug=    \[KNL,AVR32,SH\] Specify one or more actions to take  
        when a NMI is triggered.  
        Format: \[state\]\[,regs\]\[,debounce\]\[,die\]

nmi\_watchdog=    \[KNL,BUGS=X86\] Debugging features for SMP kernels  
        Format: \[panic,\]\[num\]  
        Valid num: 0,1,2  
        0 - turn nmi\_watchdog off  
        1 - use the IO-APIC timer for the NMI watchdog  
        2 - use the local APIC for the NMI watchdog using  
        a performance counter. Note: This will use one  
        performance counter and the local APIC's performance  
        vector.  
        When panic is specified, panic when an NMI watchdog  
        timeout occurs.  
        This is useful when you use a panic=... timeout and  
        need the box quickly up again.  
        Instead of 1 and 2 it is possible to use the following  
        symbolic names: lapic and ioapic  
        Example: nmi\_watchdog=2 or nmi\_watchdog=panic,lapic

netpoll.carrier\_timeout=  
        \[NET\] Specifies amount of time (in seconds) that  
        netpoll should wait for a carrier. By default netpoll  
        waits 4 seconds.

no387        \[BUGS=X86-32\] Tells the kernel to use the 387 maths  
        emulation library even if a 387 maths coprocessor  
        is present.

no\_console\_suspend  
        \[HW\] Never suspend the console  
        Disable suspending of consoles during suspend and  
        hibernate operations.  Once disabled, debugging  
        messages can reach various consoles while the rest  
        of the system is being put to sleep (ie, while  
        debugging driver suspend/resume hooks).  This may  
        not work reliably with all consoles, but is known  
        to work with serial and VGA consoles.

noaliencache    \[MM, NUMA, SLAB\] Disables the allocation of alien  
        caches in the slab allocator.  Saves per-node memory,  
        but will impact performance.

noalign        \[KNL,ARM\]

noapic        \[SMP,APIC\] Tells the kernel to not make use of any  
        IOAPICs that may be present in the system.

nobats        \[PPC\] Do not use BATs for mapping kernel lowmem  
        on "Classic" PPC cores.

nocache        \[ARM\]

noclflush    \[BUGS=X86\] Don't use the CLFLUSH instruction

nodelayacct    \[KNL\] Disable per-task delay accounting

nodisconnect    \[HW,SCSI,M68K\] Disables SCSI disconnects.

nodsp        \[SH\] Disable hardware DSP at boot time.

noefi        \[X86\] Disable EFI runtime services support.

noexec        \[IA-64\]

noexec        \[X86\]  
        On X86-32 available only on PAE configured kernels.  
        noexec=on: enable non-executable mappings (default)  
        noexec=off: disable non-executable mappings

noexec32    \[X86-64\]  
        This affects only 32-bit executables.  
        noexec32=on: enable non-executable mappings (default)  
            read doesn't imply executable mappings  
        noexec32=off: disable non-executable mappings  
            read implies executable mappings

nofpu        \[SH\] Disable hardware FPU at boot time.

nofxsr        \[BUGS=X86-32\] Disables x86 floating point extended  
        register save and restore. The kernel will only save  
        legacy floating-point registers on task switch.

noxsave        \[BUGS=X86\] Disables x86 extended register state save  
        and restore using xsave. The kernel will fallback to  
        enabling legacy floating-point and sse state.

nohlt        \[BUGS=ARM,SH\] Tells the kernel that the sleep(SH) or  
        wfi(ARM) instruction doesn't work correctly and not to  
        use it. This is also useful when using JTAG debugger.

no-hlt        \[BUGS=X86-32\] Tells the kernel that the hlt  
        instruction doesn't work correctly and not to  
        use it.

no\_file\_caps    Tells the kernel not to honor file capabilities.  The  
        only way then for a file to be executed with privilege  
        is to be setuid root or executed by root.

nohalt        \[IA-64\] Tells the kernel not to use the power saving  
        function PAL\_HALT\_LIGHT when idle. This increases  
        power-consumption. On the positive side, it reduces  
        interrupt wake-up latency, which may improve performance  
        in certain environments such as networked servers or  
        real-time systems.

nohz=        \[KNL\] Boottime enable/disable dynamic ticks  
        Valid arguments: on, off  
        Default: on

noiotrap    \[SH\] Disables trapped I/O port accesses.

noirqdebug    \[X86-32\] Disables the code which attempts to detect and  
        disable unhandled interrupt sources.

no\_timer\_check    \[X86,APIC\] Disables the code which tests for  
        broken timer IRQ sources.

noisapnp    \[ISAPNP\] Disables ISA PnP code.

noinitrd    \[RAM\] Tells the kernel not to load any configured  
        initial RAM disk.

nointremap    \[X86-64, Intel-IOMMU\] Do not enable interrupt  
        remapping.

nointroute    \[IA-64\]

nojitter    \[IA64\] Disables jitter checking for ITC timers.

nolapic        \[X86-32,APIC\] Do not enable or use the local APIC.

nolapic\_timer    \[X86-32,APIC\] Do not use the local APIC timer.

noltlbs        \[PPC\] Do not use large page/tlb entries for kernel  
        lowmem mapping on PPC40x.

nomca        \[IA-64\] Disable machine check abort handling

nomce        \[X86-32\] Machine Check Exception

nomfgpt        \[X86-32\] Disable Multi-Function General Purpose  
        Timer usage (for AMD Geode machines).

norandmaps    Don't use address space randomization.  Equivalent to  
        echo 0 > /proc/sys/kernel/randomize\_va\_space

noreplace-paravirt    \[X86-32,PV\_OPS\] Don't patch paravirt\_ops

noreplace-smp    \[X86-32,SMP\] Don't replace SMP instructions  
        with UP alternatives

noresidual    \[PPC\] Don't use residual data on PReP machines.

noresume    \[SWSUSP\] Disables resume and restores original swap  
        space.

no-scroll    \[VGA\] Disables scrollback.  
        This is required for the Braillex ib80-piezo Braille  
        reader made by F.H. Papenmeier (Germany).

nosbagart    \[IA-64\]

nosep        \[BUGS=X86-32\] Disables x86 SYSENTER/SYSEXIT support.

nosmp        \[SMP\] Tells an SMP kernel to act as a UP kernel,  
        and disable the IO APIC.  legacy for "maxcpus=0".

nosoftlockup    \[KNL\] Disable the soft-lockup detector.

noswapaccount    \[KNL\] Disable accounting of swap in memory resource  
        controller. (See Documentation/cgroups/memory.txt)

nosync        \[HW,M68K\] Disables sync negotiation for all devices.

notsc        \[BUGS=X86-32\] Disable Time Stamp Counter

nousb        \[USB\] Disable the USB subsystem

nowb        \[ARM\]

nox2apic    \[X86-64,APIC\] Do not enable x2APIC mode.

nptcg=        \[IA64\] Override max number of concurrent global TLB  
        purges which is reported from either PAL\_VM\_SUMMARY or  
        SAL PALO.

nr\_uarts=    \[SERIAL\] maximum number of UARTs to be registered.

numa\_zonelist\_order= \[KNL, BOOT\] Select zonelist order for NUMA.  
        one of \['zone', 'node', 'default'\] can be specified  
        This can be set from sysctl after boot.  
        See Documentation/sysctl/vm.txt for details.

ohci1394\_dma=early    \[HW\] enable debugging via the ohci1394 driver.  
        See Documentation/debugging-via-ohci1394.txt for more  
        info.

olpc\_ec\_timeout= \[OLPC\] ms delay when issuing EC commands  
        Rather than timing out after 20 ms if an EC  
        command is not properly ACKed, override the length  
        of the timeout.  We have interrupts disabled while  
        waiting for the ACK, so if this is set too high  
        interrupts \*may\* be lost!

opl3=        \[HW,OSS\]  
        Format: <io>

oprofile.timer=    \[HW\]  
        Use timer interrupt instead of performance counters

oprofile.cpu\_type=    Force an oprofile cpu type  
        This might be useful if you have an older oprofile  
        userland or if you want common events.  
        Format: { arch\_perfmon }  
        arch\_perfmon: \[X86\] Force use of architectural  
            perfmon on Intel CPUs instead of the  
            CPU specific event set.

osst=        \[HW,SCSI\] SCSI Tape Driver  
        Format: <buffer\_size>,<write\_threshold>  
        See also Documentation/scsi/st.txt.

panic=        \[KNL\] Kernel behaviour on panic  
        Format: <timeout>

parkbd.port=    \[HW\] Parallel port number the keyboard adapter is  
        connected to, default is 0.  
        Format: <parport#>  
parkbd.mode=    \[HW\] Parallel port keyboard adapter mode of operation,  
        0 for XT, 1 for AT (default is AT).  
        Format: <mode>

parport=    \[HW,PPT\] Specify parallel ports. 0 disables.  
        Format: { 0 | auto | 0xBBB\[,IRQ\[,DMA\]\] }  
        Use 'auto' to force the driver to use any  
        IRQ/DMA settings detected (the default is to  
        ignore detected IRQ/DMA settings because of  
        possible conflicts). You can specify the base  
        address, IRQ, and DMA settings; IRQ and DMA  
        should be numbers, or 'auto' (for using detected  
        settings on that particular port), or 'nofifo'  
        (to avoid using a FIFO even if it is detected).  
        Parallel ports are assigned in the order they  
        are specified on the command line, starting  
        with parport0.

parport\_init\_mode=    \[HW,PPT\]  
        Configure VIA parallel port to operate in  
        a specific mode. This is necessary on Pegasos  
        computer where firmware has no options for setting  
        up parallel port mode and sets it to spp.  
        Currently this function knows 686a and 8231 chips.  
        Format: \[spp|ps2|epp|ecp|ecpepp\]

pas2=        \[HW,OSS\] Format:  
        <io>,<irq>,<dma>,<dma16>,<sb\_io>,<sb\_irq>,<sb\_dma>,<sb\_dma16>

pas16=        \[HW,SCSI\]  
        See header of drivers/scsi/pas16.c.

pause\_on\_oops=  
        Halt all CPUs after the first oops has been printed for  
        the specified number of seconds.  This is to be used if  
        your oopses keep scrolling off the screen.

pcbit=        \[HW,ISDN\]

pcd.        \[PARIDE\]  
        See header of drivers/block/paride/pcd.c.  
        See also Documentation/blockdev/paride.txt.

pci=option\[,option...\]    \[PCI\] various PCI subsystem options:  
    earlydump    \[X86\] dump PCI config space before the kernel  
                changes anything  
    off        \[X86\] don't probe for the PCI bus  
    bios        \[X86-32\] force use of PCI BIOS, don't access  
            the hardware directly. Use this if your machine  
            has a non-standard PCI host bridge.  
    nobios        \[X86-32\] disallow use of PCI BIOS, only direct  
            hardware access methods are allowed. Use this  
            if you experience crashes upon bootup and you  
            suspect they are caused by the BIOS.  
    conf1        \[X86\] Force use of PCI Configuration  
            Mechanism 1.  
    conf2        \[X86\] Force use of PCI Configuration  
            Mechanism 2.  
    noaer        \[PCIE\] If the PCIEAER kernel config parameter is  
            enabled, this kernel boot option can be used to  
            disable the use of PCIE advanced error reporting.  
    nodomains    \[PCI\] Disable support for multiple PCI  
            root domains (aka PCI segments, in ACPI-speak).  
    nommconf    \[X86\] Disable use of MMCONFIG for PCI  
            Configuration  
    check\_enable\_amd\_mmconf \[X86\] check for and enable  
            properly configured MMIO access to PCI  
            config space on AMD family 10h CPU  
    nomsi        \[MSI\] If the PCI\_MSI kernel config parameter is  
            enabled, this kernel boot option can be used to  
            disable the use of MSI interrupts system-wide.  
    noioapicquirk    \[APIC\] Disable all boot interrupt quirks.  
            Safety option to keep boot IRQs enabled. This  
            should never be necessary.  
    ioapicreroute    \[APIC\] Enable rerouting of boot IRQs to the  
            primary IO-APIC for bridges that cannot disable  
            boot IRQs. This fixes a source of spurious IRQs  
            when the system masks IRQs.  
    noioapicreroute    \[APIC\] Disable workaround that uses the  
            boot IRQ equivalent of an IRQ that connects to  
            a chipset where boot IRQs cannot be disabled.  
            The opposite of ioapicreroute.  
    biosirq        \[X86-32\] Use PCI BIOS calls to get the interrupt  
            routing table. These calls are known to be buggy  
            on several machines and they hang the machine  
            when used, but on other computers it's the only  
            way to get the interrupt routing table. Try  
            this option if the kernel is unable to allocate  
            IRQs or discover secondary PCI buses on your  
            motherboard.  
    rom        \[X86\] Assign address space to expansion ROMs.  
            Use with caution as certain devices share  
            address decoders between ROMs and other  
            resources.  
    norom        \[X86\] Do not assign address space to  
            expansion ROMs that do not already have  
            BIOS assigned address ranges.  
    irqmask=0xMMMM    \[X86\] Set a bit mask of IRQs allowed to be  
            assigned automatically to PCI devices. You can  
            make the kernel exclude IRQs of your ISA cards  
            this way.  
    pirqaddr=0xAAAAA    \[X86\] Specify the physical address  
            of the PIRQ table (normally generated  
            by the BIOS) if it is outside the  
            F0000h-100000h range.  
    lastbus=N    \[X86\] Scan all buses thru bus #N. Can be  
            useful if the kernel is unable to find your  
            secondary buses and you want to tell it  
            explicitly which ones they are.  
    assign-busses    \[X86\] Always assign all PCI bus  
            numbers ourselves, overriding  
            whatever the firmware may have done.  
    usepirqmask    \[X86\] Honor the possible IRQ mask stored  
            in the BIOS $PIR table. This is needed on  
            some systems with broken BIOSes, notably  
            some HP Pavilion N5400 and Omnibook XE3  
            notebooks. This will have no effect if ACPI  
            IRQ routing is enabled.  
    noacpi        \[X86\] Do not use ACPI for IRQ routing  
            or for PCI scanning.  
    use\_crs        \[X86\] Use \_CRS for PCI resource  
            allocation.  
    routeirq    Do IRQ routing for all PCI devices.  
            This is normally done in pci\_enable\_device(),  
            so this option is a temporary workaround  
            for broken drivers that don't call it.  
    skip\_isa\_align    \[X86\] do not align io start addr, so can  
            handle more pci cards  
    firmware    \[ARM\] Do not re-enumerate the bus but instead  
            just use the configuration from the  
            bootloader. This is currently used on  
            IXP2000 systems where the bus has to be  
            configured a certain way for adjunct CPUs.  
    noearly        \[X86\] Don't do any early type 1 scanning.  
            This might help on some broken boards which  
            machine check when some devices' config space  
            is read. But various workarounds are disabled  
            and some IOMMU drivers will not work.  
    bfsort        Sort PCI devices into breadth-first order.  
            This sorting is done to get a device  
            order compatible with older (<= 2.4) kernels.  
    nobfsort    Don't sort PCI devices into breadth-first order.  
    cbiosize=nn\[KMG\]    The fixed amount of bus space which is  
            reserved for the CardBus bridge's IO window.  
            The default value is 256 bytes.  
    cbmemsize=nn\[KMG\]    The fixed amount of bus space which is  
            reserved for the CardBus bridge's memory  
            window. The default value is 64 megabytes.  
    resource\_alignment=  
            Format:  
            \[<order of align>@\]\[<domain>:\]<bus>:<slot>.<func>\[; ...\]  
            Specifies alignment and device to reassign  
            aligned memory resources.  
            If <order of align> is not specified,  
            PAGE\_SIZE is used as alignment.  
            PCI-PCI bridge can be specified, if resource  
            windows need to be expanded.  
    ecrc=        Enable/disable PCIe ECRC (transaction layer  
            end-to-end CRC checking).  
            bios: Use BIOS/firmware settings. This is the  
            the default.  
            off: Turn ECRC off  
            on: Turn ECRC on.

pcie\_aspm=    \[PCIE\] Forcibly enable or disable PCIe Active State Power  
        Management.  
    off    Disable ASPM.  
    force    Enable ASPM even on devices that claim not to support it.  
        WARNING: Forcing ASPM on may cause system lockups.

pcmv=        \[HW,PCMCIA\] BadgePAD 4

pd.        \[PARIDE\]  
        See Documentation/blockdev/paride.txt.

pdcchassis=    \[PARISC,HW\] Disable/Enable PDC Chassis Status codes at  
        boot time.  
        Format: { 0 | 1 }  
        See arch/parisc/kernel/pdc\_chassis.c

percpu\_alloc=    Select which percpu first chunk allocator to use.  
        Currently supported values are "embed" and "page".  
        Archs may support subset or none of the    selections.  
        See comments in mm/percpu.c for details on each  
        allocator.  This parameter is primarily    for debugging  
        and performance comparison.

pf.        \[PARIDE\]  
        See Documentation/blockdev/paride.txt.

pg.        \[PARIDE\]  
        See Documentation/blockdev/paride.txt.

pirq=        \[SMP,APIC\] Manual mp-table setup  
        See Documentation/x86/i386/IO-APIC.txt.

plip=        \[PPT,NET\] Parallel port network link  
        Format: { parport<nr> | timid | 0 }  
        See also Documentation/parport.txt.

pmtmr=        \[X86\] Manual setup of pmtmr I/O Port.  
        Override pmtimer IOPort with a hex value.  
        e.g. pmtmr=0x508

pnp.debug    \[PNP\]  
        Enable PNP debug messages.  This depends on the  
        CONFIG\_PNP\_DEBUG\_MESSAGES option.

pnpacpi=    \[ACPI\]  
        { off }

pnpbios=    \[ISAPNP\]  
        { on | off | curr | res | no-curr | no-res }

pnp\_reserve\_irq=  
        \[ISAPNP\] Exclude IRQs for the autoconfiguration

pnp\_reserve\_dma=  
        \[ISAPNP\] Exclude DMAs for the autoconfiguration

pnp\_reserve\_io=    \[ISAPNP\] Exclude I/O ports for the autoconfiguration  
        Ranges are in pairs (I/O port base and size).

pnp\_reserve\_mem=  
        \[ISAPNP\] Exclude memory regions for the  
        autoconfiguration.  
        Ranges are in pairs (memory base and size).

ports=        \[IP\_VS\_FTP\] IPVS ftp helper module  
        Default is 21.  
        Up to 8 (IP\_VS\_APP\_MAX\_PORTS) ports  
        may be specified.  
        Format: <port>,<port>....

print-fatal-signals=  
        \[KNL\] debug: print fatal signals  
        print-fatal-signals=1: print segfault info to  
        the kernel console.  
        default: off.

printk.time=    Show timing data prefixed to each printk message line  
        Format: <bool>  (1/Y/y=enable, 0/N/n=disable)

processor.max\_cstate=    \[HW,ACPI\]  
        Limit processor to maximum C-state  
        max\_cstate=9 overrides any DMI blacklist limit.

processor.nocst    \[HW,ACPI\]  
        Ignore the \_CST method to determine C-states,  
        instead using the legacy FADT method

profile=    \[KNL\] Enable kernel profiling via /proc/profile  
        Format: \[schedule,\]<number>  
        Param: "schedule" - profile schedule points.  
        Param: <number> - step/bucket size as a power of 2 for  
            statistical time based profiling.  
        Param: "sleep" - profile D-state sleeping (millisecs).  
            Requires CONFIG\_SCHEDSTATS  
        Param: "kvm" - profile VM exits.

prompt\_ramdisk=    \[RAM\] List of RAM disks to prompt for floppy disk  
        before loading.  
        See Documentation/blockdev/ramdisk.txt.

psmouse.proto=    \[HW,MOUSE\] Highest PS2 mouse protocol extension to  
        probe for; one of (bare|imps|exps|lifebook|any).  
psmouse.rate=    \[HW,MOUSE\] Set desired mouse report rate, in reports  
        per second.  
psmouse.resetafter=    \[HW,MOUSE\]  
        Try to reset the device after so many bad packets  
        (0 = never).  
psmouse.resolution=  
        \[HW,MOUSE\] Set desired mouse resolution, in dpi.  
psmouse.smartscroll=  
        \[HW,MOUSE\] Controls Logitech smartscroll autorepeat.  
        0 = disabled, 1 = enabled (default).

pss=        \[HW,OSS\] Personal Sound System (ECHO ESC614)  
        Format:  
        <io>,<mss\_io>,<mss\_irq>,<mss\_dma>,<mpu\_io>,<mpu\_irq>

pt.        \[PARIDE\]  
        See Documentation/blockdev/paride.txt.

pty.legacy\_count=  
        \[KNL\] Number of legacy pty's. Overwrites compiled-in  
        default number.

quiet        \[KNL\] Disable most log messages

r128=        \[HW,DRM\]

raid=        \[HW,RAID\]  
        See Documentation/md.txt.

ramdisk\_blocksize=    \[RAM\]  
        See Documentation/blockdev/ramdisk.txt.

ramdisk\_size=    \[RAM\] Sizes of RAM disks in kilobytes  
        See Documentation/blockdev/ramdisk.txt.

rcupdate.blimit=    \[KNL,BOOT\]  
        Set maximum number of finished RCU callbacks to process  
        in one batch.

rcupdate.qhimark=    \[KNL,BOOT\]  
        Set threshold of queued  
        RCU callbacks over which batch limiting is disabled.

rcupdate.qlowmark=    \[KNL,BOOT\]  
        Set threshold of queued RCU callbacks below which  
        batch limiting is re-enabled.

rdinit=        \[KNL\]  
        Format: <full\_path>  
        Run specified binary instead of /init from the ramdisk,  
        used for early userspace startup. See initrd.

reboot=        \[BUGS=X86-32,BUGS=ARM,BUGS=IA-64\] Rebooting mode  
        Format: <reboot\_mode>\[,<reboot\_mode2>\[,...\]\]  
        See arch/\*/kernel/reboot.c or arch/\*/kernel/process.c

relax\_domain\_level=  
        \[KNL, SMP\] Set scheduler's default relax\_domain\_level.  
        See Documentation/cgroups/cpusets.txt.

reserve=    \[KNL,BUGS\] Force the kernel to ignore some iomem area

reservetop=    \[X86-32\]  
        Format: nn\[KMG\]  
        Reserves a hole at the top of the kernel virtual  
        address space.

reset\_devices    \[KNL\] Force drivers to reset the underlying device  
        during initialization.

resume=        \[SWSUSP\]  
        Specify the partition device for software suspend

resume\_offset=    \[SWSUSP\]  
        Specify the offset from the beginning of the partition  
        given by "resume=" at which the swap header is located,  
        in <PAGE\_SIZE> units (needed only for swap files).  
        See  Documentation/power/swsusp-and-swap-files.txt

retain\_initrd    \[RAM\] Keep initrd memory after extraction

rhash\_entries=    \[KNL,NET\]  
        Set number of hash buckets for route cache

riscom8=    \[HW,SERIAL\]  
        Format: <io\_board1>\[,<io\_board2>\[,...<io\_boardN>\]\]

ro        \[KNL\] Mount root device read-only on boot

root=        \[KNL\] Root filesystem

rootdelay=    \[KNL\] Delay (in seconds) to pause before attempting to  
        mount the root filesystem

rootflags=    \[KNL\] Set root filesystem mount option string

rootfstype=    \[KNL\] Set root filesystem type

rootwait    \[KNL\] Wait (indefinitely) for root device to show up.  
        Useful for devices that are detected asynchronously  
        (e.g. USB and MMC devices).

root\_plug.vendor\_id=  
        \[ROOTPLUG\] Override the default vendor ID

root\_plug.product\_id=  
        \[ROOTPLUG\] Override the default product ID

root\_plug.debug=  
        \[ROOTPLUG\] Enable debugging output

rw        \[KNL\] Mount root device read-write on boot

S        \[KNL\] Run init in single mode

sa1100ir    \[NET\]  
        See drivers/net/irda/sa1100\_ir.c.

sbni=        \[NET\] Granch SBNI12 leased line adapter

sc1200wdt=    \[HW,WDT\] SC1200 WDT (watchdog) driver  
        Format: <io>\[,<timeout>\[,<isapnp>\]\]

scsi\_debug\_\*=    \[SCSI\]  
        See drivers/scsi/scsi\_debug.c.

scsi\_default\_dev\_flags=  
        \[SCSI\] SCSI default device flags  
        Format: <integer>

scsi\_dev\_flags=    \[SCSI\] Black/white list entry for vendor and model  
        Format: <vendor>:<model>:<flags>  
        (flags are integer value)

scsi\_logging\_level=    \[SCSI\] a bit mask of logging levels  
        See drivers/scsi/scsi\_logging.h for bits.  Also  
        settable via sysctl at dev.scsi.logging\_level  
        (/proc/sys/dev/scsi/logging\_level).  
        There is also a nice 'scsi\_logging\_level' script in the  
        S390-tools package, available for download at  
        http://www-128.ibm.com/developerworks/linux/linux390/s390-tools-1.5.4.html

scsi\_mod.scan=    \[SCSI\] sync (default) scans SCSI busses as they are  
        discovered.  async scans them in kernel threads,  
        allowing boot to proceed.  none ignores them, expecting  
        user space to do the scan.

security=    \[SECURITY\] Choose a security module to enable at boot.  
        If this boot parameter is not specified, only the first  
        security module asking for security registration will be  
        loaded. An invalid security module name will be treated  
        as if no module has been chosen.

selinux=    \[SELINUX\] Disable or enable SELinux at boot time.  
        Format: { "0" | "1" }  
        See security/selinux/Kconfig help text.  
        0 -- disable.  
        1 -- enable.  
        Default value is set via kernel config option.  
        If enabled at boot time, /selinux/disable can be used  
        later to disable prior to initial policy load.

serialnumber    \[BUGS=X86-32\]

shapers=    \[NET\]  
        Maximal number of shapers.

show\_msr=    \[x86\] show boot-time MSR settings  
        Format: { <integer> }  
        Show boot-time (BIOS-initialized) MSR settings.  
        The parameter means the number of CPUs to show,  
        for example 1 means boot CPU only.

sim710=        \[SCSI,HW\]  
        See header of drivers/scsi/sim710.c.

simeth=        \[IA-64\]  
simscsi=

slram=        \[HW,MTD\]

slub\_debug\[=options\[,slabs\]\]    \[MM, SLUB\]  
        Enabling slub\_debug allows one to determine the  
        culprit if slab objects become corrupted. Enabling  
        slub\_debug can create guard zones around objects and  
        may poison objects when not in use. Also tracks the  
        last alloc / free. For more information see  
        Documentation/vm/slub.txt.

slub\_max\_order= \[MM, SLUB\]  
        Determines the maximum allowed order for slabs.  
        A high setting may cause OOMs due to memory  
        fragmentation. For more information see  
        Documentation/vm/slub.txt.

slub\_min\_objects=    \[MM, SLUB\]  
        The minimum number of objects per slab. SLUB will  
        increase the slab order up to slub\_max\_order to  
        generate a sufficiently large slab able to contain  
        the number of objects indicated. The higher the number  
        of objects the smaller the overhead of tracking slabs  
        and the less frequently locks need to be acquired.  
        For more information see Documentation/vm/slub.txt.

slub\_min\_order=    \[MM, SLUB\]  
        Determines the mininum page order for slabs. Must be  
        lower than slub\_max\_order.  
        For more information see Documentation/vm/slub.txt.

slub\_nomerge    \[MM, SLUB\]  
        Disable merging of slabs with similar size. May be  
        necessary if there is some reason to distinguish  
        allocs to different slabs. Debug options disable  
        merging on their own.  
        For more information see Documentation/vm/slub.txt.

smart2=        \[HW\]  
        Format: <io1>\[,<io2>\[,...,<io8>\]\]

smp-alt-once    \[X86-32,SMP\] On a hotplug CPU system, only  
        attempt to substitute SMP alternatives once at boot.

smsc-ircc2.nopnp    \[HW\] Don't use PNP to discover SMC devices  
smsc-ircc2.ircc\_cfg=    \[HW\] Device configuration I/O port  
smsc-ircc2.ircc\_sir=    \[HW\] SIR base I/O port  
smsc-ircc2.ircc\_fir=    \[HW\] FIR base I/O port  
smsc-ircc2.ircc\_irq=    \[HW\] IRQ line  
smsc-ircc2.ircc\_dma=    \[HW\] DMA channel  
smsc-ircc2.ircc\_transceiver= \[HW\] Transceiver type:  
            0: Toshiba Satellite 1800 (GP data pin select)  
            1: Fast pin select (default)  
            2: ATC IRMode

snd-ad1816a=    \[HW,ALSA\]

snd-ad1848=    \[HW,ALSA\]

snd-ali5451=    \[HW,ALSA\]

snd-als100=    \[HW,ALSA\]

snd-als4000=    \[HW,ALSA\]

snd-azt2320=    \[HW,ALSA\]

snd-cmi8330=    \[HW,ALSA\]

snd-cmipci=    \[HW,ALSA\]

snd-cs4231=    \[HW,ALSA\]

snd-cs4232=    \[HW,ALSA\]

snd-cs4236=    \[HW,ALSA\]

snd-cs4281=    \[HW,ALSA\]

snd-cs46xx=    \[HW,ALSA\]

snd-dt019x=    \[HW,ALSA\]

snd-dummy=    \[HW,ALSA\]

snd-emu10k1=    \[HW,ALSA\]

snd-ens1370=    \[HW,ALSA\]

snd-ens1371=    \[HW,ALSA\]

snd-es968=    \[HW,ALSA\]

snd-es1688=    \[HW,ALSA\]

snd-es18xx=    \[HW,ALSA\]

snd-es1938=    \[HW,ALSA\]

snd-es1968=    \[HW,ALSA\]

snd-fm801=    \[HW,ALSA\]

snd-gusclassic=    \[HW,ALSA\]

snd-gusextreme=    \[HW,ALSA\]

snd-gusmax=    \[HW,ALSA\]

snd-hdsp=    \[HW,ALSA\]

snd-ice1712=    \[HW,ALSA\]

snd-intel8x0=    \[HW,ALSA\]

snd-interwave=    \[HW,ALSA\]

snd-interwave-stb=  
        \[HW,ALSA\]

snd-korg1212=    \[HW,ALSA\]

snd-maestro3=    \[HW,ALSA\]

snd-mpu401=    \[HW,ALSA\]

snd-mtpav=    \[HW,ALSA\]

snd-nm256=    \[HW,ALSA\]

snd-opl3sa2=    \[HW,ALSA\]

snd-opti92x-ad1848=  
        \[HW,ALSA\]

snd-opti92x-cs4231=  
        \[HW,ALSA\]

snd-opti93x=    \[HW,ALSA\]

snd-pmac=    \[HW,ALSA\]

snd-rme32=    \[HW,ALSA\]

snd-rme96=    \[HW,ALSA\]

snd-rme9652=    \[HW,ALSA\]

snd-sb8=    \[HW,ALSA\]

snd-sb16=    \[HW,ALSA\]

snd-sbawe=    \[HW,ALSA\]

snd-serial=    \[HW,ALSA\]

snd-sgalaxy=    \[HW,ALSA\]

snd-sonicvibes=    \[HW,ALSA\]

snd-sun-amd7930=  
        \[HW,ALSA\]

snd-sun-cs4231=    \[HW,ALSA\]

snd-trident=    \[HW,ALSA\]

snd-usb-audio=    \[HW,ALSA,USB\]

snd-via82xx=    \[HW,ALSA\]

snd-virmidi=    \[HW,ALSA\]

snd-wavefront=    \[HW,ALSA\]

snd-ymfpci=    \[HW,ALSA\]

softlockup\_panic=  
        \[KNL\] Should the soft-lockup detector generate panics.

sonypi.\*=    \[HW\] Sony Programmable I/O Control Device driver  
        See Documentation/sonypi.txt

specialix=    \[HW,SERIAL\] Specialix multi-serial port adapter  
        See Documentation/serial/specialix.txt.

spia\_io\_base=    \[HW,MTD\]  
spia\_fio\_base=  
spia\_pedr=  
spia\_peddr=

sscape=        \[HW,OSS\]  
        Format: <io>,<irq>,<dma>,<mpu\_io>,<mpu\_irq>

st=        \[HW,SCSI\] SCSI tape parameters (buffers, etc.)  
        See Documentation/scsi/st.txt.

stacktrace    \[FTRACE\]  
        Enabled the stack tracer on boot up.

sti=        \[PARISC,HW\]  
        Format: <num>  
        Set the STI (builtin display/keyboard on the HP-PARISC  
        machines) console (graphic card) which should be used  
        as the initial boot-console.  
        See also comment in drivers/video/console/sticore.c.

sti\_font=    \[HW\]  
        See comment in drivers/video/console/sticore.c.

stifb=        \[HW\]  
        Format: bpp:<bpp1>\[:<bpp2>\[:<bpp3>...\]\]

sunrpc.min\_resvport=  
sunrpc.max\_resvport=  
        \[NFS,SUNRPC\]  
        SunRPC servers often require that client requests  
        originate from a privileged port (i.e. a port in the  
        range 0 < portnr < 1024).  
        An administrator who wishes to reserve some of these  
        ports for other uses may adjust the range that the  
        kernel's sunrpc client considers to be privileged  
        using these two parameters to set the minimum and  
        maximum port values.

sunrpc.pool\_mode=  
        \[NFS\]  
        Control how the NFS server code allocates CPUs to  
        service thread pools.  Depending on how many NICs  
        you have and where their interrupts are bound, this  
        option will affect which CPUs will do NFS serving.  
        Note: this parameter cannot be changed while the  
        NFS server is running.

        auto        the server chooses an appropriate mode  
                automatically using heuristics  
        global        a single global pool contains all CPUs  
        percpu        one pool for each CPU  
        pernode        one pool for each NUMA node (equivalent  
                to global on non-NUMA machines)

sunrpc.tcp\_slot\_table\_entries=  
sunrpc.udp\_slot\_table\_entries=  
        \[NFS,SUNRPC\]  
        Sets the upper limit on the number of simultaneous  
        RPC calls that can be sent from the client to a  
        server. Increasing these values may allow you to  
        improve throughput, but will also increase the  
        amount of memory reserved for use by the client.

swiotlb=    \[IA-64\] Number of I/O TLB slabs

switches=    \[HW,M68k\]

sym53c416=    \[HW,SCSI\]  
        See header of drivers/scsi/sym53c416.c.

sysrq\_always\_enabled  
        \[KNL\]  
        Ignore sysrq setting - this boot parameter will  
        neutralize any effect of /proc/sys/kernel/sysrq.  
        Useful for debugging.

t128=        \[HW,SCSI\]  
        See header of drivers/scsi/t128.c.

tdfx=        \[HW,DRM\]

test\_suspend=    \[SUSPEND\]  
        Specify "mem" (for Suspend-to-RAM) or "standby" (for  
        standby suspend) as the system sleep state to briefly  
        enter during system startup.  The system is woken from  
        this state using a wakeup-capable RTC alarm.

thash\_entries=    \[KNL,NET\]  
        Set number of hash buckets for TCP connection

thermal.act=    \[HW,ACPI\]  
        -1: disable all active trip points in all thermal zones  
        <degrees C>: override all lowest active trip points

thermal.crt=    \[HW,ACPI\]  
        -1: disable all critical trip points in all thermal zones  
        <degrees C>: override all critical trip points

thermal.nocrt=    \[HW,ACPI\]  
        Set to disable actions on ACPI thermal zone  
        critical and hot trip points.

thermal.off=    \[HW,ACPI\]  
        1: disable ACPI thermal control

thermal.psv=    \[HW,ACPI\]  
        -1: disable all passive trip points  
        <degrees C>: override all passive trip points to this  
        value

thermal.tzp=    \[HW,ACPI\]  
        Specify global default ACPI thermal zone polling rate  
        <deci-seconds>: poll all this frequency  
        0: no polling (default)

tmscsim=    \[HW,SCSI\]  
        See comment before function dc390\_setup() in  
        drivers/scsi/tmscsim.c.

topology=    \[S390\]  
        Format: {off | on}  
        Specify if the kernel should make use of the cpu  
        topology informations if the hardware supports these.  
        The scheduler will make use of these informations and  
        e.g. base its process migration decisions on it.  
        Default is off.

tp720=        \[HW,PS2\]

trace\_buf\_size=nn\[KMG\]  
        \[FTRACE\] will set tracing buffer size.

trace\_event=\[event-list\]  
        \[FTRACE\] Set and start specified trace events in order  
        to facilitate early boot debugging.  
        See also Documentation/trace/events.txt

trix=        \[HW,OSS\] MediaTrix AudioTrix Pro  
        Format:  
        <io>,<irq>,<dma>,<dma2>,<sb\_io>,<sb\_irq>,<sb\_dma>,<mpu\_io>,<mpu\_irq>

tsc=        Disable clocksource-must-verify flag for TSC.  
        Format: <string>  
        \[x86\] reliable: mark tsc clocksource as reliable, this  
        disables clocksource verification at runtime.  
        Used to enable high-resolution timer mode on older  
        hardware, and in virtualized environment.

turbografx.map\[2|3\]=    \[HW,JOY\]  
        TurboGraFX parallel port interface  
        Format:  
        <port#>,<js1>,<js2>,<js3>,<js4>,<js5>,<js6>,<js7>  
        See also Documentation/input/joystick-parport.txt

u14-34f=    \[HW,SCSI\] UltraStor 14F/34F SCSI host adapter  
        See header of drivers/scsi/u14-34f.c.

uart401=    \[HW,OSS\]  
        Format: <io>,<irq>

uart6850=    \[HW,OSS\]  
        Format: <io>,<irq>

uhci-hcd.ignore\_oc=  
        \[USB\] Ignore overcurrent events (default N).  
        Some badly-designed motherboards generate lots of  
        bogus events, for ports that aren't wired to  
        anything.  Set this parameter to avoid log spamming.  
        Note that genuine overcurrent events won't be  
        reported either.

unknown\_nmi\_panic  
        \[X86\]  
        Set unknown\_nmi\_panic=1 early on boot.

usbcore.autosuspend=  
        \[USB\] The autosuspend time delay (in seconds) used  
        for newly-detected USB devices (default 2).  This  
        is the time required before an idle device will be  
        autosuspended.  Devices for which the delay is set  
        to a negative value won't be autosuspended at all.

usbcore.usbfs\_snoop=  
        \[USB\] Set to log all usbfs traffic (default 0 = off).

usbcore.blinkenlights=  
        \[USB\] Set to cycle leds on hubs (default 0 = off).

usbcore.old\_scheme\_first=  
        \[USB\] Start with the old device initialization  
        scheme (default 0 = off).

usbcore.use\_both\_schemes=  
        \[USB\] Try the other device initialization scheme  
        if the first one fails (default 1 = enabled).

usbcore.initial\_descriptor\_timeout=  
        \[USB\] Specifies timeout for the initial 64-byte  
                    USB\_REQ\_GET\_DESCRIPTOR request in milliseconds  
        (default 5000 = 5.0 seconds).

usbhid.mousepoll=  
        \[USBHID\] The interval which mice are to be polled at.

usb-storage.delay\_use=  
        \[UMS\] The delay in seconds before a new device is  
        scanned for Logical Units (default 5).

usb-storage.quirks=  
        \[UMS\] A list of quirks entries to supplement or  
        override the built-in unusual\_devs list.  List  
        entries are separated by commas.  Each entry has  
        the form VID:PID:Flags where VID and PID are Vendor  
        and Product ID values (4-digit hex numbers) and  
        Flags is a set of characters, each corresponding  
        to a common usb-storage quirk flag as follows:  
            a = SANE\_SENSE (collect more than 18 bytes  
                of sense data);  
            c = FIX\_CAPACITY (decrease the reported  
                device capacity by one sector);  
            h = CAPACITY\_HEURISTICS (decrease the  
                reported device capacity by one  
                sector if the number is odd);  
            i = IGNORE\_DEVICE (don't bind to this  
                device);  
            l = NOT\_LOCKABLE (don't try to lock and  
                unlock ejectable media);  
            m = MAX\_SECTORS\_64 (don't transfer more  
                than 64 sectors = 32 KB at a time);  
            o = CAPACITY\_OK (accept the capacity  
                reported by the device);  
            r = IGNORE\_RESIDUE (the device reports  
                bogus residue values);  
            s = SINGLE\_LUN (the device has only one  
                Logical Unit);  
            w = NO\_WP\_DETECT (don't test whether the  
                medium is write-protected).  
        Example: quirks=0419:aaf5:rl,0421:0433:rc

vdso=        \[X86,SH\]  
        vdso=2: enable compat VDSO (default with COMPAT\_VDSO)  
        vdso=1: enable VDSO (default)  
        vdso=0: disable VDSO mapping

vdso32=        \[X86\]  
        vdso32=2: enable compat VDSO (default with COMPAT\_VDSO)  
        vdso32=1: enable 32-bit VDSO (default)  
        vdso32=0: disable 32-bit VDSO mapping

vector=        \[IA-64,SMP\]  
        vector=percpu: enable percpu vector domain

video=        \[FB\] Frame buffer configuration  
        See Documentation/fb/modedb.txt.

vga=        \[BOOT,X86-32\] Select a particular video mode  
        See Documentation/x86/boot.txt and  
        Documentation/svga.txt.  
        Use vga=ask for menu.  
        This is actually a boot loader parameter; the value is  
        passed to the kernel using a special protocol.

vmalloc=nn\[KMG\]    \[KNL,BOOT\] Forces the vmalloc area to have an exact  
        size of <nn>. This can be used to increase the  
        minimum size (128MB on x86). It can also be used to  
        decrease the size and leave more room for directly  
        mapped kernel RAM.

vmhalt=        \[KNL,S390\] Perform z/VM CP command after system halt.  
        Format: <command>

vmpanic=    \[KNL,S390\] Perform z/VM CP command after kernel panic.  
        Format: <command>

vmpoff=        \[KNL,S390\] Perform z/VM CP command after power off.  
        Format: <command>

vt.default\_blu=    \[VT\]  
        Format: <blue0>,<blue1>,<blue2>,...,<blue15>  
        Change the default blue palette of the console.  
        This is a 16-member array composed of values  
        ranging from 0-255.

vt.default\_grn=    \[VT\]  
        Format: <green0>,<green1>,<green2>,...,<green15>  
        Change the default green palette of the console.  
        This is a 16-member array composed of values  
        ranging from 0-255.

vt.default\_red=    \[VT\]  
        Format: <red0>,<red1>,<red2>,...,<red15>  
        Change the default red palette of the console.  
        This is a 16-member array composed of values  
        ranging from 0-255.

vt.default\_utf8=  
        \[VT\]  
        Format=<0|1>  
        Set system-wide default UTF-8 mode for all tty's.  
        Default is 1, i.e. UTF-8 mode is enabled for all  
        newly opened terminals.

waveartist=    \[HW,OSS\]  
        Format: <io>,<irq>,<dma>,<dma2>

wd33c93=    \[HW,SCSI\]  
        See header of drivers/scsi/wd33c93.c.

wd7000=        \[HW,SCSI\]  
        See header of drivers/scsi/wd7000.c.

wdt=        \[WDT\] Watchdog  
        See Documentation/watchdog/wdt.txt.

x2apic\_phys    \[X86-64,APIC\] Use x2apic physical mode instead of  
        default x2apic cluster mode on platforms  
        supporting x2apic.

xd=        \[HW,XT\] Original XT pre-IDE (RLL encoded) disks.  
xd\_geo=        See header of drivers/block/xd.c.

xirc2ps\_cs=    \[NET,PCMCIA\]  
        Format:  
        <irq>,<irq\_mask>,<io>,<full\_duplex>,<do\_sound>,<lockup\_hack>\[,<irq2>\[,<irq3>\[,<irq4>\]\]\]

______________________________________________________________________

TODO:

Add documentation for ALSA options.  
Add more DRM drivers.

手机扫一扫

移动阅读更方便

阿里云服务器
腾讯云服务器
七牛云服务器