Guides Linux 2.6: Go Configure Page 2

Linux 2.6: Go Configure Page 2

Configure From Scratch

There are two nice graphical configuration utilities: menuconfig, and xconfig. menuconfig is ncurses-based, so you don’t need X. xconfig in 2.6 requires Qt and X. Let’s use xconfig, because it is sleek and fast, and completely redesigned for 2.6:

$ make xconfig

This will putter and mutter for a bit, then spit out a menu. Have your printouts handy because now you have to select the right drivers for your hardware, decide what features your kernel will have, and whether to load drivers as modules, or build them into the kernel. menuconfig and xconfig generate loads of information — read all of it. Many things will be selected by default. The worst thing that can happen by saying “yes” too many times is you’ll enable features that won’t be used. This is not a bad thing. In contrast, if you leave something out that you need, you may need to rebuild the kernel. Here are few things which should be built into the kernel:

  • module support
  • a.out binaries, ELF binaries, and MISC binaries
  • VGA text console
  • All filesystems you’ll be using, such as ext2/3, ReiserFS, JFS, XFS, loopback, vfat, NTFS, udf, etc.

These depend on your hardware; whatever you select should be built into the kernel, not a loadable module:

  • IDE, ATA, and ATAPI Block Devices
  • SCSI support (note that the 2.6 kernel does not need IDE-SCSI, so if you have no SCSI devices, you can omit this)
  • USB support
  • Any on-board controllers
  • Sound support

These are OK to have as loadable modules:

  • NIC drivers
  • Netfilter/iptables
  • USB drivers
  • sound card drivers

There are help files on almost every item.

Building The Kernel And Modules
Once you’ve finished and saved your configuration, 2.6 builds the kernel and modules all in one step:

$ make

On a slow system, this will take awhile. Go take a nice walk. Then come back and gaze upon your new kernel image, it should be ~/src/arch/i386/boot/bzImage (or whatever your architecture is).

You can have several versions of gcc installed, and select the one you want to use this way:

$ make CC=gcc-2.95

To view a whole raft of “make” targets, run make help first. When it’s done, modules must be installed by the superuser:

# make modules_install

You will find your shiny new modules in /lib/modules/2.6.3.

>> Copy Kernel Image to /boot

This article was originally published on CrossNodes.

Latest Posts

KVM vs VMware Hypervisor Comparison 2020

The KVM vs VMware hypervisor comparison is a classic debate. Hypervisors have increased in usability and power over the last several years as more...

Compare HP’s iLo & Dell’s iDRAC Server Management Tools

Most servers shipped from the major manufacturers today come with some type of out-of-band management tool or baseboard management controller (BMC). Two of the...

Get-MsolUser PowerShell Attributes & Properties

This article has been updated for 2020. Please note that WAAD was retired in 2018, but the cmdlets listed in this article are still...

Microsoft Azure PowerShell Scripts and Commands

Using PowerShell scripts and commands for quickly executing tasks in Windows operating systems offers a number of benefits over traditional scripting languages, such as...

Microsoft Hyper V Review

Microsoft Hyper-V: The Bottom line Microsoft Hyper-V lagged behind VMware's virtualization tool, one of the most popular tools in the space, when it was first...

Related Stories