by July 6, 2001 0 comments

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:

  • Support for more hardware, software and filesystems
  • Speed improvements to the base operating system


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 you
r 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.

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
where the complete details are available. Some of the more
prominent drivers you’ll find in the new kernel are: Video4Linux: Supports a wide variety of radio and TV tuner cards and
digital cameras.

  • IRDA: Infrared devices.
  • More serial ports and serial ports with shared interrupts (lack of
    which turned off many DOS/Windows users).
  • DVD drives.
  • RAID5 and other SCSI controllers.
  • 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

    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
    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!” Other features

    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.

    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.


    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.

    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

    No Comments so far

    Jump into a conversation

    No Comments Yet!

    You can be the one to start a conversation.