How to configure the Linux kernel

This Howto shows you what each Linux kernel option is used for. The Linux kernel has hundreds of options and setting, this howto attempts to describe them. To learn howto compile the kernel see Howto compile the Linux Kernel.

Know your hardware

There are thousands of configuration options, so its a good idea to start with what you know you need and what you know you don't need.

A good way to find what you have is to use the lspci, and lsusb commands. This will show you the name and model of your components. The Kernel configuration names are not always obvious, so these commands help you decipher the names.

For instance:

  • Creative Labs Sound Blaster PCI 128 is called
    • (Creative) Ensoniq AudioPCI 1370
Things you usually need
  • Second extended fs support
  • Ext3 journaling file system support
  • ..
Things you usually don't need
  • I2O support
  • ISDN support
  • Dallas's 1-wire support
  • Memory Technology Device (MTD) support
  • Support for Large Block Devices
  • Instrumentation Support
  • Kernel hacking
  • Amateur Radio support
  • InfiniBand support
  • and any hardware that you obviously don't have

Config Methods

  1. console based: make menuconfig
  2. (GUI) Qt Based: make xconfig
  3. (GUI) GTK Based: make gconfig
  1. keep old Kernels settings: make oldconfig
    less screen Clutter: make silentoldconfig
  2. edit the /usr/src/Linux/.config file manually


This section explains all the configuration options. The are many. The Linux tree structure is organized and the extracted Linux source directory structure. The Menuconfig tree structure is as you would see using make menuconfig


Community content is available under CC-BY-SA unless otherwise noted.