COLOR="#000000" face="Arial" size="2">Le Roi Est Mort, Vive Le Roi! (The King is Dead,
Long Live The King.)
On January 26, Indian time, Linus Torvalds announced the release of
the Linux kernel version 2.2. This was the result of nearly an year of patches, updates
and additions to Linux 2.0 (Linux 2.1 is the development branch). So what are the new
features in Linux 2.2, and what are the caveats? That’s what this article is about,
and at the end I hope to make you familiar with the new features and (unfortunate but
unavoidable) new issues with the new kernel.
In general, you will see the following changes in the new kernel:
Enhanced
support
The most obvious changes that you
will see in the new (2.2) kernel are the ones which affect two of your most highly
developed senses: video and sound. Linux is moving towards a more standard video interface
for graphics, where drivers for the video card (as long as it conforms to some standards
like VESA) are built into the kernel itself. What this means for you as a user is that now
you will only have to specify your card or chipset type
at kernel compile time and not have to jump through hoops to get your X Window system (aka
X) configured. The standard interface to the graphics will be through a Frame Buffer (fb)
which the kernel handles, and which looks like a linear memory area to outside
applications which can write into and read this memory. Voila, simple graphics! As an
added bonus, you also get the Linux logo, Tux the Penguin at bootup if you choose to
bootup in graphical mode. Finally, if you choose to enable the framebuffer system, you
need only use a generic X server (Xfb) instead of a different X server for each card type.
size="2">
The framebuffer paradigm should also shorten the distance between
the X and the SVGALIB programs. Since both can use the common kernel base to access
low-level graphics, expect to see the differences between them narrow.
The change in the sound drivers is not so marked externally, but
makes life much easier for those of us who were using commercial drivers for our
unsupported sound cards, as well as for Linux distribution makers. A lot of the sound code
in the kernel has been re-written. It supports many new cards and is now completely
modular. For me personally this is a great improvement since I had been struggling with
the PnP OPTi-931-based sound card which I had picked up in a moment of madness. Linux 2.2
supports it completely, and somehow the music sounds sweeter with the built-in drivers
than it did with the same card, before!
Distribution makers (Red Hat, Caldera, S.u.S.E, etc) will be pleased
with the new modularity of the sound drivers – to them, this means that they will be
able to support more sound cards out of the box with their distributions; gone are the
days of needing a different kernel for each sound card!
With so many more hardware drivers supported, it’d be a waste
on my part to list them here, Instead I’d recommend the Linux Kernel Website
prominent drivers you’ll find in the new kernel are:
digital cameras.
which turned off many DOS/Windows users).
Linux 2.2 still doesn’t directly support PCMCIA (though user
level utilities usually included with any Linux distribution manage this) and while it
does support PnP devices to a certain degree, some work remains to be done. A more glaring
omission is lack of USB (though work is on at a feverish pace on it).
Apart from these, the new kernel also has support for various file
systems (NTFS, FAT32, Apple HFS, etc) as well as the ability to read Microsoft’s new
(and incompatible) extended partitioning scheme. There are loads of networking drivers
which you can use, including cable modems (which would be great once the cable ISPs get
into their stride in India) and ISDN.
Speed improvement COLOR="#000000" size="2">
From the point of view of
performance and low-level stuff, Linux 2.2 has built-in kernel level support for multiple
CPU vendors. This means that the kernel will be able to identify (or be compiled with
support for) various special features of Intel-compatible CPUs from non-Intel vendors.
Added to the advantages which this will give you if you happen to have an AMD or a Cyrix
CPU, Linux 2.2 will also blaze along on SMP (Symmetric Multi Processing) systems with up
face="Arial" size="2"> to 16 CPUs. Low-level changes in the kernel makes SMP much more
viable in Linux 2.2 than it was earlier. And if you were waiting for the right operating
system before you bought your 4-way server, the time is now!
Linux 2.2’s memory management has also improved greatly over
its older cousin (2.0). Though the base system memory requirements have gone up a bit, the
modularization of so many drivers means that effectively 2.2 may end up using less memory
than 2.0, since you’ll only be loading the drivers that you need. In addition, if you
happen to have 16 MB or more of RAM on your system you should see tangible speed
improvements over Linux 2.0 due to vast changes in the low-level memory-handling code.
The core networking code in the kernel has been partly re-written to
support new extensions to the IP protocol itself (for example, the next generation of IP:
IPv6); some of these will translate to speedier communications over loaded network links
and for those using networking media like satellites, etc.
Generally, you will find that just about everything runs faster
under Linux 2.2, thanks to the memory management and caching improvements. This led many
users to comment "it feels like I got a completely new machine instead of just a new
kernel!"
Most of the more pressing problems
with the 2.0 series of kernels have been taken care of in 2.2. Fixes for the major
irritants in the IP/networking code which made Linux vulnerable to Internet-based attacks
like land and teardrop were so critical that Linus and Alan Cox didn’t wait for 2.2,
but instead made them available in the later 2.0.x kernels themselves.
size="2">
On the other hand, a system crash hole was discovered within a day
of releasing 2.2, leading to an immediate release of 2.2.1 (the "Brown Paperbag
Release", a term that is destined to become part of Linux lore. Linus, while
releasing 2.2, had commented that this is the final one for the moment, unless bugs were
discovered that would force him to go around with a brown paper bag over his head for a
while until he could live that down).
You can expect to find a few more of these problems as time goes by
and the use of Linux 2.2 becomes more and more widespread. I personally do not expect any
earth-shaking bugs to show up, and I wouldn’t delay upgrading my system worrying
about them. But if you run mission critical production servers, you might want to wait for
a few weeks while the dust settles.
Conclusion COLOR="#000000" size="2">
Linux 2.2 is a revamped and enhanced
kernel for modern-day computers. It has made great strides in each direction, whether it
be performance, device driver support or support for multiple architectures. If you have
need for these features, it makes sense to upgrade to the latest and the greatest.
size="2">
However, going by the old maxim, "If it ain’t broke,
don’t fix it", if you’re satisfied with your current kernel and system,
there’s no point in upgrading to 2.2 right now unless you’re one of those who
like to live on the Bleeding Edge. As I mentioned earlier, you can expect a short period
(from a couple of weeks to 3 months) before 2.2 stabilizes into as proven a platform as
2.0. It’d be wise to stay with the current kernel until stability and security
reports have come in from all sides.
This is also why we do not install the 2.2 kernel by default when
you install off the PCQ March 1999 CD. But that does not mean that we will deny you the
pleasure of giving it a try. The 2.2 kernel (as pre-relase RPMs that are quite stable as
well as the official 2.2.1 source code) is very much on your CD, check out
/mnt/cdrom/pcq-linux/extra/kernel-updates/2.2.