Follow Slashdot blog updates by subscribing to our blog RSS feed


Forgot your password?
Upgrades Software Linux

Configuring the 2.6 Linux Kernel 279

An anonymous reader writes "This article is the first in a series by William von Hagen on using the new Linux 2.6 kernel, with a special emphasis on the primary issues in migrating existing drivers, applications, and embedded Linux deployments to a Linux distribution based on the 2.6 kernel. Bill is the author of Linux Filesystems, Hacking the TiVo, SGML for Dummies, Installing Red Hat Linux 7, and is the coauthor of The Definitive Guide to GCC (with Kurt Wall) and The Mac OS X Power Users Guide (with Brian Profitt)." This looks to be a good series for anyone planning to migrate to Linux 2.6, and having done just that myself, I'll attest to wanting more documentation along the way.
This discussion has been archived. No new comments can be posted.

Configuring the 2.6 Linux Kernel

Comments Filter:
  • by Anonymous Coward on Saturday February 07, 2004 @10:28AM (#8211296)
    Mandrake 10 will be the first major distro use Kernel 2.6. Download the beta here [].

    Easy to install, just download the ISOs, burn to disk, reboot and the installer will appear.

    Make sure to REPORT ALL BUGS, unless you want to see the LG incident again.
  • I had not trouble installing it in Mandrake 9.1, all I had to do is two changes in ATI's wrapper.

    As for other drivers I need, they're all already included in the kernel.
  • by after ( 669640 ) on Saturday February 07, 2004 @10:31AM (#8211317) Journal
    > make menuconfig

    I have never compiled my kernel before, and today I jsut compiled the 2.4 version, installed and later compiled 2.6.1 and installed... all without any problems.

    Enough rant ;)

    I just like the config file method. Does this mean that I can keep my config file (for compiling the kernel) when I upgrade to the next stable? (keeping in mind that I have it customized)
    • by zonix ( 592337 ) on Saturday February 07, 2004 @10:38AM (#8211349) Homepage Journal
      I just like the config file method. Does this mean that I can keep my config file (for compiling the kernel) when I upgrade to the next stable? (keeping in mind that I have it customized)

      Yes, that's what the "make oldconfig" is for. You need to overwrite the .config file first. This goes for the 2.4 series kernels - I don't know if it has changed in the 2.6 series?

    • by forlornhope ( 688722 ) on Saturday February 07, 2004 @10:39AM (#8211352) Homepage
      copy your /boot/config-2.x.y to the source directory as ./.config and then make oldconfig. It will go through all the old options setting them and present you with only the new options. Its a text only interface, but its pretty simple to choose between y/n/m/? and each option is pretty self explanitory. I think you can also step back a version using the same method, but Im not sure about that.
    • Yeah, if you copy over .config and run "make oldconfig" it'll only ask you new questions - could be problematic for large changes, but for little kernel upgrades it's worked fine for me (2.4.22 -> 23 -> 24; 2.6.0 -> 6.1 -> 6.2)

      IANAKH, so feel free to correct me.
      • I think it's useful to run "make oldconfig" to keep me from forgetting to enable important options. For instance, for some reason I always used to forget at least one of the kernel options required for DHCP, so I'd always wind up compiling the kernel for my laptop at least twice.
    • Kind of. The available options change between versions. Next time, copy in your old .config and run "make oldconfig". This will ask you if you want each of the new options.
    • If you compile /proc/config support in the 2.6 kernel you can

      `zcat /proc/config.gz > /path/to/2.6.x/.config`

      You have your old config in place, I used it to upgrade from 2.6.1 to 2.6.2 very handy indeed.
    • There's actually a new kernel option that you can put the .config right into your kernel. That way say you delete your kernel source tree and forgot to save your .config (or just plain forgot where you saved it), or working on another system, you can just configure it based on your current running kernel.
  • by mfivis ( 592345 ) on Saturday February 07, 2004 @10:32AM (#8211324) Homepage
    I found this sticky at's forums to be most helpful in doing an easy and straightforward 2.6 compile on a slackware system. []
    • I found this sticky at's forums to be most helpful in doing an easy and straightforward 2.6 compile on a slackware system.

      Compiling kernels on Slackware has always been easy and straightforward. Kernel 2.6 works out of the box (well, as out of the box as you can be for a source tarball) on Slack 9.1, without the need for patches, tweaking daemons etc. It just works. That's one of the reasons I switched to Slack early on when I was learning Linux. It's so simple, it's newbie-friendly.
  • Default (Score:5, Interesting)

    by Grey_14 ( 570901 ) on Saturday February 07, 2004 @10:34AM (#8211329) Homepage
    Whats with the default config for the kernel, it's not blank, it's a specific setup that looks like it's for a P4 with a specific network card and chipset, shouldnt the kernel config be bare? this is referring to source downloaded directly from,
    • Re:Default (Score:5, Informative)

      by Torne ( 78524 ) <> on Saturday February 07, 2004 @10:57AM (#8211431)
      The default x86 kernel config always used to be Linus's machine; I don't know if this is still the case. =)
    • I'm not sure how it is now that there are so many more developers on the kerrnel, but the kernel used to have its defaults set up for Linus' workstation. I do know that the default out of the box config was to use SMP, which is not going to work for about 99% of the people out there. I just checked to see if this was still the case, and yes, it does default to SMP. However, when I started configuring the kernel on an Itanium based machine, it did automatically fill in the blanks for setting up an Itanium
  • Usability? (Score:5, Interesting)

    by polyp2000 ( 444682 ) on Saturday February 07, 2004 @10:37AM (#8211339) Homepage Journal
    Is the 2.6 kernel "Usable" yet? By this I mean getting obscure hardware to work such as my USB Midi Interface, and what about proprietary drivers such as Nvidia's, will existing code compiled for 2.4 kernel work? or will you have to recompile stuff (IPTables for example). Im running a gentoo box. I've been toying with updating the kernel to 2.6 and I've been hearing that there are a lot of radical changes to the kernel, the performance enhancements are very exciting to say the least. But what kinds of headaches am I going to have with a real world (used as a desktop as well as a server) system?

    • Re:Usability? (Score:4, Informative)

      by lokedhs ( 672255 ) on Saturday February 07, 2004 @10:40AM (#8211362)
      Well, nVidia has support for their graphics cards on 2.6 []. As for the other hardware you'll have to google yourself. The nVidia link wasn't paticularily hard to find.
    • Re:Usability? (Score:2, Interesting)

      by Anonymous Coward
      (A +5 Troll ? ..... anyway...)

      AFAIK, for drivers, if it works in 2.4, it's supposed to work in 2.6.

      iptables support is pretty much the same aside from having a gazillion new options to play with, and of course you'll need to recompile the iptable support in the kernel (what else? you're compiling the kernel anyway)

      Well, as far as I've been using 2.6, it's very much "usable", there aren't any show-stopping problems that I've encountered on any 2.6.0 + kernels of yet, and it's quite stable. (I have a 32 da
    • Re:Usability? (Score:4, Informative)

      by Weird O'Puns ( 749505 ) on Saturday February 07, 2004 @10:59AM (#8211440)

      Kernel 2.6 is very usable and stable. I've been running mm-sources since 2.5.5x and haven't had any major problems with it. There's hardly any need for recompiling packages (there are few exceptions though, mostly packages that install some kind of kernel module, svgalib for example). One thing you must do is to replace modutils with module-init-tools.

      Gentoo forums are relly your friend. There are tons of threads concerning 2.4 to 2.6 upgrade, including some howtos.

    • Re:Usability? (Score:5, Informative)

      by Spoing ( 152917 ) on Saturday February 07, 2004 @11:19AM (#8211511) Homepage
      1. Is the 2.6 kernel "Usable" yet?

      In sum, yes. As with any major kernel update you have to have the matching user space parts or many devices will not work. Required documentation is included with the kernel;

      1. README (case sensitive) and

        ./Documentation/Changes (as noted in README)

      Keep in mind that if you don't need support for specific hardware -- say, ISDN or PC-Card/PCMCIA -- you can skip updating those packages.

      Specific comment: Alsa is now the default sound system, and it needs updated supporting tools if you want to get a peep out of your audio. Point for point comments;

      1. By this I mean getting obscure hardware to work such as my USB Midi Interface, -- USB MIDI support is included, though I haven't tried it.

      2. and what about proprietary drivers such as Nvidia's, will existing code compiled for 2.4 kernel work? There are updates, and they work fine; install the same way as with 2.4. Check the normal places on Nvidia's site.

      3. or will you have to recompile stuff (IPTables for example). Im running a gentoo box. I haven't, though I don't have Gentoo (Fedora Core 1).

      4. I've been toying with updating the kernel to 2.6 and I've been hearing that there are a lot of radical changes to the kernel, the performance enhancements are very exciting to say the least. It's better for average use, and low latency apps should work much better (ex: sound processing), though I haven't noticed much of a speed boost. 2.4 was snappy already.

      5. But what kinds of headaches am I going to have with a real world (used as a desktop as well as a server) system? Rebooting. Checking the software versions. Looking at all the possible options in the 2.6.x kernel -- though this is much easier with the updated menus in the confiuration screens ('make xconfig' (QT)/'make gconfig' (GTK)).

      Normal precautions, nothing special.

    • Before doing anything, your hesitancy indicates you may want to backup [] your system first.

      = 9J =

    • There's a good guide at the gentoo forums [].

      The first thing is pick a kernel; development-sources or mm-sources are the vanilla 2.6 kernel and one of the more expermental patch-sets respectively. Love sources ebuilds are also in the forums, and some people swear by them. Initially, I'd go for development-sources.

      Without repeating everything in the forums guide, you'll need to emerge module-init-tools, and re-emerge the nvidia-kernel ebuild. You shouldn't need to recompile much else. You also can unmerge t

    • by Frogg ( 27033 ) on Saturday February 07, 2004 @01:21PM (#8212152)
      I'm using kernel 2.6.x and gentoo 1.4, and I'm fairly new to linux. All my h/w (nvidia, sblive, adaptec-compat scsi, usb mouse + mp3 player) works very well.

      It wasn't as smooth an upgrade as I'd've liked, but, like I said, I'm fairly new to all this.

      When I first upgraded, I did get a lot of errors/warnings on boot, but I have since fixed them all.

      Ensuring you have the latest versions of hotplug and module-init-tools will help your migration to 2.6, as there are changes to h/w detection and module loading.

      Take care when doing make oldconfig from an earlier gentoo kernel - gentoo kernels have had various performance patched in them for some time, but -- if I recall -- these settings didn't all magically migrate across, as the gentoo kernel build flags and the official kernel build flags have differing names for these features between 2.4 and 2.6. Just remember to check all your options with make menuconfig or similar. Some other build flags have changed names too, including stuff for usb devices and (IIRC) framebuffers -- this will probably only catch you out if you're migrating settings from an older kernel.

      After building and installing my 2.6 kernel, I also installed the latest nvidia package from nvidia's website, and alsa-lib and alsa-utils (both 1.0.2, from portage)

      Also, there are changes to how some system stats/info is handled/reported - ensure you have an up-to-date version of procps, or top might give some cranky info... some tools that monitor memory levels (gkrellm, various gdesklets) will stop working because the output of /proc/meminfo has changed (the first few summary lines have been removed) -- fixes for this don't seem to exist yet.

      Other than the meminfo issue, kernel 2.6 hasn't broken anything (that I've noticed) on my gentoo system, and it appears to work very well.

      (Oh, kernel 2.6 did cause one of my drives to give warnings about unexpected DMAs every few mins, but that totally fixed itself once I stopped overclocking the CPU. The drive was running slower with a mis-firing DMA, but other than the warnings, no problems occured (YMMV). Something in 2.6 must be more timing sensitive or less tolerant of overcranked h/w speeds. NBD: my system is a few years old, the extra ~20% speed increase cannot is insignificant when compared to speeds of a modern CPU - it seemed a lot at the time!)
  • KernelWiki (Score:5, Interesting)

    by Bruha ( 412869 ) on Saturday February 07, 2004 @10:37AM (#8211344) Homepage Journal
    I've considered setting up a wiki for the Kernel to give people a place to file what they've learned about it and share with the general public. Anyone think this would help anyone?
    • I don't know... why don't we set up a wiki to dicuss this ;)

      Seriously, just go ahead and do it. If no one uses it, take it down.

  • by locknloll ( 638243 ) on Saturday February 07, 2004 @10:37AM (#8211345) Homepage
    I've only recently started using Linux on a day-by-day basis, and after installing Debian unstable I switched directly to 2.6, without ever compiling a 2.4 kernel. That worked without a hitch, so now I'm wondering if the difference is so big. I still have an old Pentium I around the house, and I'm thinking of making this one a firewall/IDS... and so far I'm not sure if 2.6 was a little overkill for that one...
  • by Bill Hayden ( 649193 ) on Saturday February 07, 2004 @10:37AM (#8211346) Homepage
    As far as I can tell, there is no way to use a KVM with kernel 2.6 and still have mouse wheel support. It works until you switch away and back to Linux, at which point the mouse goes completely nuts and cannot be revived. Back in 2.4, there were two hacks to revive the mouse in this situation (switch VCs, or set the mouse protocol in X to "AUTO") but neither of these work in 2.6. Windows, needless to say, has no problems. You can supposedly pass a psmouse.noext parameter to the kernel at boot time to fix the craziness, but a) this would remove mouse wheel support, and b) I never got it work anyway. If you know a workaround, please post!
  • by osewa77 ( 603622 ) <[moc.liamg] [ta] [smsajian]> on Saturday February 07, 2004 @10:42AM (#8211371) Homepage
    If more people put up articles like this to make it easier to use the popular open source software products it'd speed up rate of adoption a lot. If there was one on writing kernel modules ... ;-)
  • by runen ( 689179 ) on Saturday February 07, 2004 @10:42AM (#8211372)
    The problem with building your own kernel is that you will always make it as slim as possible. Then each time you buy a new piece of hardware (USB-mouse, SATA hd, etc) you'll need to build it again (and you've thrown away the original .config of course :). Is there a configure everything (besides what's been specified as built-in) as modules?
    • by blackrider ( 459412 ) on Saturday February 07, 2004 @10:46AM (#8211387) Homepage
      It wont solve the main problem, but you can enable the /proc/config.gz option in the 2.6 kernel, so you can access the old config at any time through the /proc interface.
    • by Anonymous Coward
      You can always include almost everything as modules.

      Or alternatively you can take a kernel configuration of your favorite distribution and tweak it to your liking. Most distributions will include drivers for all common hardware as modules.
    • by Neil Watson ( 60859 ) on Saturday February 07, 2004 @11:34AM (#8211558) Homepage
      When you add new hardware that is not needed at boot (e.g not a bood device), simply build the kernel feature to support your new device as a module. Install the module and you are ready to go. No rebuild or reboot needed. You don't throw away config files. You save them for later use. The config procedure gives an option to save your config to an alternate location.
    • I build slim kernels, but I always build everything I chose not to compile in as a module. Literally, everything. That way, when I get a new or exotic piece of hardware that I want to just start playing with (and not worry about recompiling the kernel), I just plug it in and hotplug gets it, or failing that, a quick modprobe and it's ready to go.
  • ITS AN ADVERT!!! (Score:5, Informative)

    by Anonymous Coward on Saturday February 07, 2004 @10:44AM (#8211378)
    This is just a very loosly disguised advert for TimeSys Linux

    Nothing any monkey cant work out in about five minutes (and if they cant they should not be cross compiling for embedded devices)

    Since most people dont RTFA this isnt a problem, if you are one of the many... dont bother - its S**T
  • More binaries needed (Score:5, Interesting)

    by inf0mike ( 676125 ) on Saturday February 07, 2004 @10:53AM (#8211419) Journal

    I think this will turn out to be a great series of white papers helping people get to grips with the process of configuring and compiling their own kernels, but I have to say that I think there would be faster progress on new kernels if the was some central repository of precompiled binary packages for the major distros throughout the development cycle.

    The truth of the matter is that now linux is gaining wider acceptance, the community is filling up with more and more noobs and we should be doing more to help them understand the "new" (to them) technology. We also need to remember that not everyone who wants to use the software needs to be some sort of guru.

    This article is a great start to moving more people to the new code quicker, but regular up to date debs/rpms for all the current distributions will push that long even faster. I know someone will probably post saying "but there are packed versions for xxxx at", but they are often difficult to find for the noobs who just don't know where to look.

  • 2.6, X, and stuff (Score:5, Informative)

    by NixLuver ( 693391 ) <.moc.citerehck. .ta. .etihwts.> on Saturday February 07, 2004 @11:01AM (#8211453) Homepage Journal
    The 'GUIFication' of the Linux kernel is interesting, but not mandatory. Make menuconfig still works, so you don't have to have X. Also, most of the bells and whistles related specifically to application space can be de-selected, so runaway featuritis is at least controlled.

    The 2.6 kernel is noticeably faster on my dual Athlon 2100+mp, at the user interface; X is faster than I've ever seen it before; the realtime scheduling is awesome.

    In short, as soon as you can reasonably do so, I recommend you migrate to the 2.6.x kernel.

  • by POds ( 241854 ) on Saturday February 07, 2004 @11:06AM (#8211469) Homepage Journal
    Seems like just in time, hopfuly some future articles will give some insight into how to get ISAPNP sounds cards to work. For some reason my ISAPNP OPL3SA2 cards can not be found when i either compile support into the kernel or into loadable modules...

    seems like a few other people have this problem. Does anyone know the solution? Will i have to write the addresses of all the ports manualy and switch off ISAPNP for OPL3SA2?
  • by ThogScully ( 589935 ) <> on Saturday February 07, 2004 @11:40AM (#8211593) Homepage
    The foremost problem I had in migration was that SCSI emulation with ide-scsi is no longer used for CD burning. I expect many people making the upgrade will run into a problem with that.

    You can use the standard ATAPI ide-cdrom driver now to burn your CDs, but the userspace programs haven't caught up to this in all distros, especially the GUI ones. cdrdao just doesn't work last I checked, and while cdrecord works alright in the newer versions, many GUI frontend burners simply use cdrdao too much to be useful.

    Other problems I had were that lm_sensors changed a bit and I didn't find it important enough to upgrade to newer userspace stuff, but anyone who's relying on them for anything will likely want to know that it's changed and upgrades to userspace are necessary. The only other issue, which was fixed by a quick Googling was that the module system is changed and module-init-tools is now necessary for loading and unloading kernel modules.
  • That's great (Score:4, Interesting)

    by Apreche ( 239272 ) on Saturday February 07, 2004 @11:51AM (#8211642) Homepage Journal
    I didn't know about xconfig before! I really have to spruce up my install. I'm still using kernel 2.6.0 and I should probably up it to 2.6.2. My problem is I use gentoo and I have to configure the kernel manually. I know HOW to do it as in what make commands to issue in order to get a binary kernel out of the thing. And how to put the kernel in /boot and point my lilo at it. What I'm not always sure on is exactly which configure options I want on and off. The important ones are obvious. Yes I have an athlon. Yes I need my nfornce network card, emu10k1, silicon image sata, pre-emptible kernel etc. etc. But a lot of them I just have no clue. Some options have useful help messages like "if you don't know, just say Y (or N) it wont slow you down". But there are still a zillion modules and options in there that I have no clue if I should use Y M or N.

    We should make a repository of hardware configurations and which options should be turned on depending how you will use it. People should just say hey, I got this machine here with this hardware. I'm using it as a web server, and this is my kernel config. If enough people put there configs in, then people like me could find others with similar or identically matching hardware and use those configs. I'm sure it would also bring to light better configs for most people. I'm sure there's some guy out there not selecting a certain option who should be. And if he posts his config online some geek will be sure to point it out to him.
  • I'm about to get a new machine on which I want to install Linux. Which distro should I install that would already have the 2.6 included? Does Fedora? I'd like to save the time of not having to upgrade and configure a new kernel after just installing 2.4. Suggestions are welcome. Also, I'm a linux newbie so a distro with a good graphical installer is welcome.
  • by FuzzyBad-Mofo ( 184327 ) <> on Saturday February 07, 2004 @03:01PM (#8212953)

    If you are upgrading an NForce-based machine to 2.6.x, save yourself some headaches and add "noapic nolapic" to the Kernel append string. I experienced repeatable hard lockups when doing disk intensive I/O until adding those parameters.

    Also, NVIDIA's nforce package is no longer necessary. The experimental forcedeth driver in 2.6.2 works quite well in my experience, and apparently an Intel sound driver works for the NForce onboard sound.

    See my latest journal entry for my account of migrating MDK 9.1 to a vanilla 2.6.1 kernel.

    • I experienced the same problem and solved it by excluding APIC support in the kernel configuration alltogether.

      I recall reading somewhere that disabling ACPI while keeping APIC enabled should also solve the issue. In other words: the problem apparantly only occurs when BOTH ACPI AND APIC are enabled on systems with Nforce2 chipsets.

      Wasn't there supposed to be a patch out there fixing this issue already? And if so, why hasn't it been merged in the tree by now? I know, I know, the 2.6 tree is still quite yo

The first rule of intelligent tinkering is to save all the parts. -- Paul Erlich