Linux ETC

Kernel Parameters

2008.06.04 02:15

HOSTWAY 조회 수:43203

http://www.kernel.org 에서 배포하는 tarball 리눅스 커널에서 parameters txt 파일에 배포하는 커널에 적용이 가능한 kernel parameter 에 대해서 아래와 같이 안내하고 있습니다.

리눅스 커널 배포시 추가되거나 변경되는 부분이 있으니, 수시로 참고하는 것이 좋습니다.

 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

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.
        HW      Appropriate hardware is enabled.
        IA-64   IA-64 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.
        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 is enabled.
        TS      Appropriate touchscreen 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_64/boot-options.txt .

In addition, the following text indicates that the option:

        BUGS=   Relates to possible processor bugs on the said processor.
        KNL     Is a kernel start-up parameter.
        BOOT    Is a boot loader parameter.

Parameters denoted with BOOT are actually interpreted by the boot
loader, and have no meaning to the kernel directly.
Do not modify the syntax of boot loader parameters without extreme
need or coordination with <Documentation/i386/boot.txt>.

There are also arch-specific kernel-parameters not documented here.
See for example <Documentation/x86_64/boot-options.txt>.

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-64,i386]
                        Advanced Configuration and Power Interface
                        Format: { force | off | ht | strict | noirq }
                        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.

                        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_sleep=     [HW,ACPI] Sleep options
                        Format: { s3_bios, s3_mode, s3_beep }
                        See Documentation/power/video.txt for 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.

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

        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_pci=   [HW,ACPI] If irq_balance, clear listed IRQs for
                        use by PCI
                        Format: <irq>,<irq>...

        acpi_irq_isa=   [HW,ACPI] If irq_balance, mark listed IRQs used by ISA
                        Format: <irq>,<irq>...

        acpi_new_pts_ordering [HW,ACPI]
                        Enforce the ACPI 2.0 ordering of the _PTS control
                        method wrt putting devices into low power states
                        default: pre ACPI 2.0 ordering of _PTS

        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_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_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.debug_layer=       [HW,ACPI]
                        Format: <int>
                        Each bit of the <int> indicates an ACPI debug layer,
                        1: enable, 0: disable. It is useful for boot time
                        debugging. After system has booted up, it can be set
                        via /sys/module/acpi/parameters/debug_layer.
                        CONFIG_ACPI_DEBUG must be enabled for this to produce any output.
                        Available bits (add the numbers together) to enable debug output
                        for specific parts of the ACPI subsystem:
                        0x01 utilities 0x02 hardware 0x04 events 0x08 tables
                        0x10 namespace 0x20 parser 0x40 dispatcher
                        0x80 executer 0x100 resources 0x200 acpica debugger
                        0x400 os services 0x800 acpica disassembler.
                        The number can be in decimal or prefixed with 0x in hex.
                        Warning: Many of these options can produce a lot of
                        output and make your system unusable. Be very careful.

        acpi.debug_level=       [HW,ACPI]
                        Format: <int>
                        Each bit of the <int> indicates an ACPI debug level,
                        1: enable, 0: disable. It is useful for boot time
                        debugging. After system has booted up, it can be set
                        via /sys/module/acpi/parameters/debug_level.
                        CONFIG_ACPI_DEBUG must be enabled for this to produce any output.
                        Available bits (add the numbers together) to enable different
                        debug output levels of the ACPI subsystem:
                        0x01 error 0x02 warn 0x04 init 0x08 debug object
                        0x10 info 0x20 init names 0x40 parse 0x80 load
                        0x100 dispatch 0x200 execute 0x400 names 0x800 operation region
                        0x1000 bfield 0x2000 tables 0x4000 values 0x8000 objects
                        0x10000 resources 0x20000 user requests 0x40000 package.
                        The number can be in decimal or prefixed with 0x in hex.
                        Warning: Many of these options can produce a lot of
                        output and make your system unusable. Be very careful.

        acpi_pm_good    [X86-32,X86-64]
                        Override the pmtimer bug detection: force the kernel
                        to assume that this machine's pmtimer latches its value
                        and always returns good values.

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

        enable_timer_pin_1 [i386,x86-64]
                        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.

        disable_timer_pin_1 [i386,x86-64]
                        Disable PIN 1 of APIC timer
                        Can be useful to work around chipset bugs.

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

        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.

        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.

        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,i386] 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/i386/kernel/apm.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

        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.

        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.

        cio_msg=        [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
                        include/asm-x86/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.

        code_bytes      [IA32/X86_64] How many bytes of object code to print
                        in an oops report.
                        Range: 0 - 8192
                        Default: 64

        disable_8254_timer
        enable_8254_timer
                        [IA32/X86_64] Disable/Enable interrupt 0 timer routing
                        over the 8254 in addition to over the IO-APIC. The
                        kernel tries to set a sensible default.

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

        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.

        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.

        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.

        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.

        cs4232=         [HW,OSS]