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 (4.10.27) and Velox (4.10.26) 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 Altrop (4.10.20) and Bartok (4.10.1) 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=yThis is not really needed though as I believe this simply adds some minor tunings to the kernel.