|
Page 1 of 4 HowTo Upgrade To The 2.6 Kernel Anyone who's been following Linux kernel development for the past several months has heard about one exciting feature after another being merged into the still un-released 2.6 kernel. New features that noticeably affect user experience include Robert Love's preemptible kernel work , Ingo Molnar's O(1) Scheduler, Rik Van Riel's reverse mapping VM , Nick Piggins' Anticipatory I/O scheduler , and much, much more... Having some spare time a few nights ago, I decided to give the latest kernel, 2.6.0-test4, a trial run on my aging 550Mhz PIII desktop computer, and the result was nothing short of spectacular. As the final 2.6.0 release approaches, it is important that an increasing number of users (aka testers) give this kernel a try, especially as currently it's still a sexy task for developers to track down kernel bugs and stabalize their work. Once work starts on the 2.7 development tree, inevitably much talent will again be focusing on new features. The purpose of this document is to provide some helpful tips to readers that currently compile their own 2.4 kernels, but haven't yet made the leap to 2.6. This is still a development kernel, so you may run into problems, but overall stability and performance is quite impressive and I can't recommend enough that you try it today.
Target Audience: This article is targeted towards Linux users that are already comfortable with compiling their own 2.4 kernels. If you've never compiled a kernel before, I suggest that you start here: Beyond that, it's also highly recommended that anyone new to the 2.6 kernel review Dave Jones' post-halloween document (aka "2.5 - what to expect"). Step 0: Make a backup of important data. Before we get started, if you're going to be running a development kernel be sure that you have a current backup of any important data. While I've not run into any problems while running 2.6.0-test4, there are still bugs... Step 1: Obtain the current 2.6 kernel. All official versions of the Linux kernel source code can be found at http://kernel.org/. It is highly encouraged that you find the fastest local mirror to spread out the load among willing kernel source hosts. Find the kernel.org mirror list here: http://kernel.org/mirrors/. At the time of this writing, the current version of the 2.6 kernel is 2.6.0-test4, a development version. The next release will be -test5, then -test6, and so on, until Linux creator Linus Torvalds decides that it's time to release 2.6.0, the first official release of the much-anticipated stable 2.6 tree. Having downloaded the source, it's also a very good idea to download the GnuPG signature and use it to verify the authenticity and validity of your new kernel source. For more information, go to: http://www.kernel.org/signature.html. Step 2: Review the provided documentation. At absolute minimum, you should at least review the top-level README, and the Changes file inside the Documentation directory, both distributed with the Linux kernel source code. The top-level README refers to itself as being for the 2.5 development kernel, as 2.6.0-test is still part of the development phase. (2.6.0, without a -test extension, will be the first 2.6 kernel) You'll find lots of good tips in this document regarding how to successfully compile a Linux kernel. The document begins: "These are the release notes for Linux version 2.5. Read them carefully, as they tell you what this is all about, explain how to install the kernel, and what to do if something goes wrong." The Documentation/Changes file lists the new requirements of the 2.5 development kernel, providing a list of software that must be upgraded to work properly with the new kernel. It begins: "This document is designed to provide a list of the minimum levels of software necessary to run the 2.5 kernels, as well as provide brief instructions regarding any other 'Gotchas' users may encounter when trying life on the Bleeding Edge." Step 3: Upgrade your system per the Changes file. There are a number of utilities that you will have to upgrade for them to work properly with your new 2.6 kernel. Some of the utilities listed in 'Changes' you won't have to worry about, as for example they may be specific to certain filesystems. However, you will at least need to meet the minimum version requirements for the following (see 'Documentation/Changes' for the latest requirements -- they may have changed!): Name: Minimum version: How to find version: Gnu C Compiler 2.95.3 gcc --version Gnu Make 3.78 make --version binutils 2.12 ld -v util-linux 2.10o fdformat --version module-init-tools 0.9.9 depmod -V procps 2.0.9 ps --version [procps 2.x] [procps 3.x] The following utilities are filesystem specific. If you're running ext2 or ext3, be sure to update your e2fsprogs, if you're running jfs, be sure to update jfsutils, etc... Name: Minimum version: How to find version: e2fsprogs 1.29 tune2fs jfsutils 1.0.14 fsck.jfs -V reiserfsprogs 3.6.3 reiserfsck -V 2>&1 | grep reiserfsprogs xfsprogs 2.1.0 xfs_db -V nfs-utils 1.0.5 showmount --version
And a handful of other utilities that you'll want to update if you use them: Name: Minimum version: How to find version: pcmcia-cs 3.1.21 cardmgr -V quota-tools 3.09 quota -V PPP 2.4.0 ppd --version isdn4k-utils 3.1pre1 isdnctrl 2>&1 | grep version oprofile 0.5.3 oprofiled --version
If you're going to be running ALSA for the first time, also be sure to visit http://www.alsa-project.org/ to grab the latest alsa-lib and alsa-utils.
|