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[]
- console based: make menuconfig
- (GUI) Qt Based: make xconfig
- (GUI) GTK Based: make gconfig
- Other
- keep old Kernels settings: make oldconfig
- less screen Clutter: make silentoldconfig
- edit the /usr/src/Linux/.config file manually
Configurations[]
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
Menuconfig[]
- Code maturity level options
- General setup
- Loadable module support
- Block layer
- Processor type and features
- Power management options (ACPI, APM)
- Bus options (PCI, PCMCIA, EISA, MCA, ISA)
- Executable file formats
- Networking integrated kernel support for ppp, slip, vpn, etc.)
- Device Drivers (drivers for sound, video, usb, disk drive, ...)
- File systems ext2, ext3, fat, ntfs, ...)
- Howto configure the Linux kernel/Instrumentation Support?
- Howto configure the Linux kernel/kernel hacking?
- Security Options
- Cryptography options
- Library routines
Menuconfig Full Tree[]
- Code maturity level options
- General setup
- Loadable module support
- Block layer
- Processor type and features
- Power management options (ACPI, APM)
- Bus options (PCI, PCMCIA, EISA, MCA, ISA)
- Executable file formats
- Networking
- Device drivers
- Processor type and features
- Power management options (ACPI, APM)
- Bus options (PCI, PCMCIA, EISA, MCA, ISA)
- Executable file formats
- Networking integrated kernel support for ppp, slip, vpn, etc)
- Device Drivers (drivers for sound, video, usb, disk drive, ...)
- File systems ext2, ext3, fat, ntfs, ...)
- Howto configure the Linux kernel/Instrumentation Support?
- Howto configure the Linux kernel/kernel hacking?
- Security Options
- Cryptography options
- Library routines
Other Organization Structures[]
Other Stuff[]
- Guide to configuring the linux kernel/block
- Guide to configuring the linux kernel/crypto
- Howto configure the linux kernel/Full tree
- Howto configure the linux kernel/Howto Edit this page
- Howto configure the linux kernel/Script
- Howto upgrade linux kernel
List of devices[]
http://kernel.org/pub/linux/docs/device-list/devices-2.6+.txt