Useful kernel options

Discussion in 'all things UNIX' started by Gullible Jones, Mar 16, 2010.

Thread Status:
Not open for further replies.
  1. Because I've had about enough of Linux machines that won't boot and whatnot, I'm starting a thread where Linux *ahem* "enthusiasts" can post kernel options that may solve certain problems, what they do, and what problems they typically solve. I'll start...

    - noapic/nolapic: disables Advanced Programmable Interrupt Controller support, falling back to the older (and worse) methods of routing interrupts to different cores. Reduces performance on SMP machines (not sure by how much), but may solve problems involving refusal to boot, or segmentation faults/kernel panics on shutdown.

    - highres=off, nohz=off: IIRC this disables the kernel's tickless mode, falling back to whatever clock speed the kernel was compiled with (I think). Bizarrely these options seem to help with unusual and vague Xorg errors, for instance Xorg failing with "no screens found" on supported hardware. Note that on some chipsets and some kernels, this CAN AND WILL MESS UP YOUR AUDIO.

    - i915.powersave=0: disables power saving features in certain Intel video chipsets. On some kernel (but not all!) newer kernel versions this is needed to prevent GPU crashes on resuming from suspend.

    - i915.modeset=0: On machines with Intel graphics chipsets, disables kernel modesetting complete. DO NOT DO THIS with the latest Intel driver, it will prevent X from starting!

    - noacpi: disables ACPI power management. This obviously makes suspend and hibernate unavailable in most cases, but on some computers will prevent the kernel from crashing... And on others will cause it to crash, as ACPI is needed. (My netbook is one of the latter.)

    - rdblacklist=X (where X is some module): on Fedora (at least) this prevents a kernel module from loading. Useful for those running into conflicts between e.g. the nVidia proprietary driver and the nouveau one.

    - ideX=noprobe (where X is the index of an ATA drive): prevents probing of the indicated drive. This is useful for some kernels when SATA drives are set to IDE mode, as it usually makes Linux recognize them correctly as SATA drives.

    - selinux=0: disables SELinux on distros where it is enabled by default. On desktops, this will probably improve performance. For the love of GOD do NOT do this on servers, because it will make a system MUCH less secure.

    I'll post more as they come up.

    Oh, and a word of warning: this may seem obvious to the experienced among us, but if you've got a largely working system with a few problems, don't add one of these options to your bootloader config file; you may render your system unbootable. Instead, if you seriously think one of the above options will do something (and it may not), append it to the boot prompt prior to boot.

    For LILO:

    - At the boot menu, press tab on the entry you want
    - Type in the options and hit return

    For GRUB:

    - At the boot menu, hit "e" on the entry you want
    - Hit "e" again on the kernel line
    - Type in what you want
    - Hit escape and then "b" to boot

    And if any of the above options makes things worse instead of better... Well, don't say I didn't warn you. :cautious:
     
    Last edited by a moderator: Mar 16, 2010
Loading...
Thread Status:
Not open for further replies.