Sample Kernel Config
Table of Contents
Introduction
This article will illustrate a sample .config file used to configure a 2.6.16 kernel. This .config file includes all the options illustrated in the Low-latency Kernel Building How-to. It can be used as base to quickly obtain a configuration that suit your hardware.
The .config file is attached here, just copy it in your kernel sources dir:
cp config-2.6.16-vanilla /usr/src/linux-2.6.16/.config
Do an oldconfig if you kernel version is not exactly 2.6.16:
$ cd /usr/src/linux2.6.XX $ make oldconfig
And then start customising the .config file:
$ make menuconfig
Customisation
The attached .config file is a quite standard configuration for i386 desktop. There is no laptop specific option enabled (such software suspend or PCMCIA support). Remeber that you can retrieve much of the information about your hardware simply inspecting the output of lspci and lspci -v
The following options/sections are compulsory to modify:
Processor Type
- Processor type and features --> Processor family.
You should select the family that suits your processor.
In the sample config Athlon/Duron/K7 is selected because my processor is an AMD Athlon XP.
IDE support
- Device Drivers --> ATA/ATAPI/MFM/RLL support.
For my chipset I have chosen VIA82CXXX chipset support, you should change that to reflect your chipset. Sata support is not enabled. You need to compile this support statically if you don't use the initrd.
USB support
- Device Drivers --> USB support.
I have an usb 1.1 controller supported by the UHCI driver. Other usb 1.1 controllers are supported by the OHCI driver. All the usb 2 controllers are supported by the EHCI driver. If unsure compile all the tree drivers. HID support is disabled (you need it for usb keyboards and mouses).
AGP Video support
- Device Drivers --> Character devices
In the second section you should set the AGP bridge of your motherborad (under /dev/agpgart, mine is AMD Irongate and the video module under Direct Rendering Manager, mine is ATI Radeon.
You can select also a custom frambuffer driver, if there is one that suits your card, in this section:
- Device Drivers --> Graphics support
However the default VESA driver is compatible with all the video cards, so you don't have to change anything here is you are not sure. You need to compile this support statically if you don't use the initrd.
Audio cards
In Device Drivers --> Sound --> Advanced Linux Sound Architecture you should select your PCI devices and USB devices.
I have only selected the driver for my PCI audigy card (emu10k1).
I2C Bus
This bus is used for sensors (temperature, fan speed, etc...) and for V4L (for example webcam support).
The hardware specific voices are in:
- Device Drivers --> I2C support --> I2C Hardware Bus support
- Device Drivers --> I2C support --> Miscellaneous I2C Chip support
You should select the i2c chipset for you hardware. This is not a crucial option: even if you select the wrong chipset the kernel will boot anyway.
In the sample config VIA 82C586B is selected.
Hardware Monitoring support
- Device Drivers --> Hardware Monitoring support
Select here you chipset to enable sensors support.
In the sample config VIA686A is selected.
Native Language Support
- File systems --> Native Language Support
You may need to modify this section if you want support in the kernel for char-sets other that ISO 8859-1, ISO 8859-2, ISO 8859-15 and UTF8.
The default chosen in this this configuration is UTF8, though.
Notes about the sample configuration
- Networking: All the advanced routing option are disabled. With this configuration you can browse the internet, use ssh, ftp, p2p, and receive broadcast streams. But you can't do a router or a NAT.
- Filesystems: Support for ext2/3 and resiserfs are compiled in.
- Power Management: In the configuration ACPI is enabled. For some older hardware you may have better support with apm (the old module that care of power management).
- USB storage: Usb keys or usb pen are supported by the configuration.
- CD-ROM and DVD: the support is included (both filesystem and device drivers).
- Parallel port: Parallel port support is not included because I don't use it (Device Drivers --> Parallel port support).
- Floppy support: Floppy support is enabled (Device Drivers --> Block devices).
- FUSE: FUSE support is enabled. Useful to use sshfs.
Troubleshooting
A user has reported that he had to compile the support for the MS-DOS partitions in order to boot the kernel:
File systems --->
Partition Types --->
[*] Advanced partition selection
[*] PC BIOS (MSDOS partition tables) support (NEW)
Attachments
- config-2.6.16-vanilla.sample (32 kB) - attached sample config file, added by antonio on Mon Apr 17 16:52:45 2006.

