Go to TogaWare.com Home Page.
GNU/Linux Desktop Survival Guide
by Graham Williams
Google

Kernel Configuration


The next task is to configure the kernel to suit your setup. There are very many configuration options and most can be ignored. Each also has a brief but helpful piece of documentation in /usr/src/linux/Documentation/Configure.help.

There are three methods available for selecting the configuration. The first and most basic is config which presents each option, sequentially, for you to decide what to do. This is a long process. The menu-based menuconfig presents a menu in a terminal. Options are grouped hierarchically and you can navigate to the specific options you wish to modify. The X Window System configurator is xconfig. We might suggest xconfig as the more convenient of the methods, but menuconfig is a good alternative if there is no X Window System running.

A good starting point for configuration is the basic configuration that is the default provided by Debian. You then refine the configuration. For an installed kernel-image you can find its configuration in /boot/config-2.4.16, for example. A simple approach to configuration is to copy the installed kernel's configuration as the starting point and simply enable the options missing from that configuration (e.g., SMP):



  # cp /boot/config-2.4.16-686 kernel-source-2.4.16/.config

However, you may be better off starting with no .config. A default configuration will be installed and you can then add to this support for your specific hardware.

Below is a record of my configurations for Mint (104.34) and Velox (104.33) where configuration started with no /usr/src/kernel-source-2.4.16/.config:

  # cd kernel-source-2.4.16
  # make xconfig (or menuconfig or config)
        -> CONFIG_M686=y
      Plug and Play support
        -> CONFIG_PNP=y
      Block devices
        -> CONFIG_BLK_DEV_IDECD=m (previously y)        
        -> CONFIG_BLK_DEV_IDESCSI=m     
        -> CONFIG_BLK_DEV_LOOP=m
      Networking options
        -> CONFIG_FIREWALL=y                            Mint
        -> CONFIG_IP_FIREWALL=y                         Mint
        -> CONFIG_IP_MASQUERADE=y                       Mint
        -> CONFIG_IP_MASQUERADE_ICMP=y                  Mint
      SCSI support
        -> CONFIG_BLK_DEV_SR=m (previously y)
        -> CONFIG_BLK_DEV_SR_VENDOR=y
        -> CONFIG_CHR_DEV_SG=m
      SCSI support -> SCSI low-level drivers
        -> CONFIG_SCSI_AIC7XXX=y                        Velox
      Network device support -> Ethernet (10 or 100Mbit) 
        -> CONFIG_NET_VENDOR_3COM=y
        -> CONFIG_VORTEX=m
      Network device support
        -> CONFIG_PPP=y                                 Mint
      Filesystems
        -> CONFIG_ISO9660_FS=y
        -> CONFIG_JOLIET=y
        -> CONFIG_NTFS_FS=m
        -> CONFIG_FAT_FS=m
        -> CONFIG_MSDOS_FS=m
        -> CONFIG_VFAT_FS=m
      Sound
        -> CONFIG_SOUND=m               (Will use ALSA modules)

For Alpine (104.27) and Bartok (104.8) the configuration began with a copy of config-2.4.16-686-smp and /boot/config-2.4.16 respectively and the following were modified for the extra memory and SMP.



    Processor Type and Features
      CONFIG_MPENTIUMIII=y
      CONFIG_HIGHMEM4G=y (originally off)
      CONFIG_HIGHMEM=y (set automatically)
      CONFIG_SMP=y (already set)

For the laptop Inco the initial configuration was that of /boot/config-2.4.16-686 then modified as:

    Processor Type and Features
      CONFIG_MPENTIUMIII=y

This is not really needed though as I believe this simply adds some minor tunings to the kernel.

Copyright © 1995-2006 [email protected]
Contribue and access the PDF Version