![]() |
|
|
|
|
|
Upgrading to the 2.4.x kernel
By Amit Chattopadhyay <amitc@technologist.com>
The Linux kernel is the heart of the operating system. It is important that it is kept up to date and working properly for your system to work at its optimum potential. The stable 2.4.0 kernel is a conglomeration of patches and additions that have been made throughout the experimental 2.3.x series of the kernel. Upgrading from 2.0.x to 2.2.x had been a tricky affair as many of the supporting tools had to be upgraded before the kernel could be compiled and booted into. Fortunately this time, the transition from 2.2.x to 2.4.x is simpler, assuming that your system was 2.2.x ready. Since the 2.4.x kernel is a hefty 23mb download, it would be worthwhile reading over the improvements and changes that have been made to the kernel to find out whether or not you really need it. What's New? The biggest addition comes in the form of the much-publicized support for the Itanium, Intel's 64bit processor. While the processor itself is slated for release later this year, the present support allows users to easily migrate to a 64bit processor and take full advantage of the processor's architecture. For home users, the IA64 support doesn't mean much as it will take time for prices to come down and become affordable. Additionally, support for IBM S/390 systems has also been added. PNP support for ISA devices has finally become stable. Also support for USB devices has been improved and PCMCIA/PC Card support has become mature. These may very well be some of the good reasons why you may want to upgrade the kernel. As far as file systems are concerned, the inclusion of UDF will benefit DVD and CD-RW users. Don't get too excited though, as DVD video playback support under Linux still remains flaky. ReiserFS is available in the 2.4.1 kernel release but is having some stability problems. Another good reason for upgrading to 2.4.x would be to make use of the highly improved networking core, which was optimized for speed and completely revised. The NFS code has been improved and should cause lesser headaches and it even supports the latest revision of NFS namely NFSv3. One of the notable changes with this kernel is the inclusion of Device Filesystem or DevFS. Unlike the large list of device nodes in the /dev directory which point to the devices, DevFS cleans up some of the clutter by created device nodes on the fly when a specific driver is loaded. The structure of /dev will also change with device nodes placed inside different categories. DevFS is not installed by default. It is very clear that most of the improvements are for non-i386 users. If you need to use the improved ISA PNP, USB or faster networking core or the new sound/video/video4linux drivers it would be a good idea to go for the upgrade. However, if you don't find anything useful in the new features and do not want to tinker with your already well setup machine, you should probably stick on to your older kernel for some more time. Still plan to upgrade your kernel? The latest kernel available in the 2.4.x series is available from http://www.kernel.org/ . After you have downloaded the kernel, move the kernel source into the /usr/src directory. Now you need to make sure that supporting tools for the kernel are sufficiently up to date. * Gnu C * Gnu make * binutils * util-linux * modutils * e2fsprogs * pcmcia-cs * PPP * isdn4k-utils If you find that you have an older version of any of the following software, you can download the latest version from http://www.freshmeat.net. In most cases, if you already have a 2.2.x kernel, you won't require any additional downloading with the exception of a newer version of modutils. Before you jump into compiling the kernel, move your older linux source kernel into a different directory to ensure that when you untar the 2.4.x kernel source, it doesn't overwrite your older kernel. For example, # cd /usr/src This will move your older linux source into linux-2.2.12 directory and untar the downloaded kernel into the /usr/src/linux directory. Rename your older vmlinuz and System.map, in case they are files and not symlinks, and create a new entry in lilo to allow you to boot into your older kernel for last minute bail out, in case the 2.4.x kernel bombs out! # cd /boot Edit your lilo.conf to add a new entry image = /boot/vmlinuz-2.2.12 For a quick guide to compiling kernels, read Mayank Sarup's article on compiling the Linux kernel. Now you are ready to configure the kernel settings and compile the kernel. # make menuconfig to open the configuration tool. Try to compile support as modules as this ensures a smaller size of the kernel. Finally, get a cup of coffee (the compile takes a long time) and sit back and watch as the kernel compilation proceeds, # make install This will compile the kernel, copy the vmlinuz/System.map into your /boot directory and update lilo.conf. The next time you boot, selecting Linux will boot you into kernel 2.4.x
Kernel.org
Other articles by Amit Chattopadhyay
Current Rating: [ 7.78 / 10 ]
Number of Times Rated: [ 109 ]
|
|
|
© 1998-2004 FreeOS Technologies (I) Pvt. Ltd. All rights reserved.
[Privacy Policy]
![]() |