2.4.x - 2.5.x Kernel Migration
Written by Bob Raymond on 25-March-2003.
NOTE:
this SxS is written with the assumption that you are comfortable and
familiar with building 2.4.x kernels. If you are not, please
work on a 2.4.x first with these instructions.
Distribution: Gentoo 1.4
Hardware: Athlon TBird 1.4, 512MB PC3200 DDR
There are several convincing reasons why one might try out the 2.5.x
series of kernels. I did so out of necessity, as I purchased a
motherboard in October that had the Highpoint 374 IDE RAID controller,
which didn't seem to work very well with the latest 2.4.x series of
kernels. In October, there really wasn't too much difference between
setting up a 2.5 kernel and a 2.4 kernel, but there was much more
chance of breakage. At the time of this article's writing, 2.5
kernels are maturing quickly and developers are calling for more
testing from the end users. However, there are more differences in the
configuration of the two kernel trees that I would like to address.
1. The configuration programs themselves.
In 2.4.x, one had the options of 'make config', 'make oldconfig', 'make menuconfig', and 'make xconfig.' The options are again available in 2.5.x. The main differences are in 'make xconfig,' which has been entirely rewritten to use either QT, or if you lack that, GTK.
Click here for a screenshot of the new xconfig in 2.5.x.
Config options are different now, for example, the Input device support
section now allows for much in the way of tweaking, the filesystem
menus have been reorganized into subgroups for CD filesystems, DOS
filesystems, Pseudo filesystems, Misc. filesystems, and the three that
were already in such groups: Network file systems, partition types, and
native language support.
Linux filesystems are in the main menu under filesystems.
The build process has changed somewhat. One no longer has to enter 'make dep' after configuration, instead the instructions call for 'make bzImage.' I tend to type 'make modules' before typing 'make bzImage'
out of habit, which ends up not only making the modules, but also
compiling most of the in-kernel stuff. Then running 'make
bzImage' takes care of the compression.
2. New features
The need for ide-scsi in order to burn CD's has been eliminated, as of
kernel 2.5.44. You need to upgrade to the latest version of
cdrtools to take advantage of this.
cdrecord -scanbus -dev=ATAPI
gives me:
Cdrecord 2.01a05 (i686-pc-linux-gnu) Copyright (C) 1995-2002 Jörg Schilling
scsidev: 'ATAPI'
devname: 'ATAPI'
scsibus: -2 target: -2 lun: -2
Warning: Using ATA Packet interface.
Warning: The related libscg interface code is in pre alpha.
Warning: There may be fatal problems.
Using libscg version 'schily-0.7'
scsibus0:
0,0,0 0) 'ADAPTEC ' 'ACB-5500 ' 'FAKE' NON CCS Disk
0,1,0 1) 'ADAPTEC ' 'ACB-5500 ' 'FAKE' NON CCS Disk
0,2,0 2) *
0,3,0 3) *
0,4,0 4) *
0,5,0 5) *
0,6,0 6) *
0,7,0 7) *
XFS support is now in the kernel, so no need to wait for SGI to release a new patch.
ALSA (Advanced Linux Sound Architecture) is also in the kernel, and OSS (Open Sound System) is now marked 'deprecated.'
3. What you need to use the new kernel
module-init-tools: http://www.kernel.org/pub/linux/kernel/people/rusty/modules
Kernels 2.5.48 onward have depended upon module-init-tools due to
massive changes to how modules are loaded and unloaded. During
installation of module-init-tools (unless emerging it on Gentoo when
this is done for you automagically), type 'make moveold'
to rename the old insmod, modprobe, rmmod, and lsmod to insmod.old,
modprobe.old, rmmod.old, and lsmod.old, and does the same with matching
manpages. 2.4.x kernels should then automatically use the old
programs.
Other than that, a willingness to live with bugs is helpful.
I encourage anyone who's ever thought about 'living dangerously' with
the very core of your OS to try it now, and those who haven't thought
about it to do the same. Overall performance has been zippier for me,
and the annoyances of separately patching and installing for XFS and
alsa are taken care of.
If the standard 2.5.x tree doesn't work out for you (esp. if you have a
VIA chipset with USB as I do) I recommend Alan Cox's -ac tree: http://www.kernel.org/pub/linux/kernel/people/alan.
REFERENCES:
Linux kernel documentation, module-init-tools documentation, various searches of the linux kernel mailing list.