---

Linux kernel 2.2 explained

Introduction

Should I upgrade? How do I upgrade? Any big
problems I can expect? Linux Today’s Dave Whitinger examines the
newest Linux kernel, 2.2.0.

Last May, in his keynote speech to a crowd of over 1,000 at the
1998 LinuxExpo in Durham, NC, Linus Torvalds told the world that he
expected kernel 2.2.0 to be released “real soon now” — in June or
July 1998.

Eight months later, after an incredible amount of further
development and testing, we finally have our new kernel.

In this article, I examine the 2.2.0 kernel and attempt to
address some of the more common questions that users are likely to
ask about it.

What is it?

The kernel is the core of the operating system. It’s primary
functions are controlling execution of processes, handling memory
management, providing a file system, and providing a portable
interface through which programs may communicate with hardware.

The Linux kernel has been in development since 1991. For a
complete look at the history of the Linux kernel, visit the
Linux Kernel
Version History
web site.

If your computer
is not a production
system, then it
makes good sense
to upgrade it
and see how well
it performs.

Should I upgrade?

There are good reasons for upgrading and good reasons to stay
with the 2.0.XX series of kernels. The most direct answer is: if
this is a production machine, you are strongly advised
not to upgrade to 2.2 until it has proven
completely stable. This is not to say that 2.2.0 is not already
stable, but on a production machine, you may be better served to
delay your upgrade until it’s stability has been proven
elsewhere.

Which leads me to the reason you may choose to
upgrade: if your computer is not a production system (e.g., your
personal workstation, your spouse’s/kids’ computer), then it makes
good sense to upgrade it and see how well it performs, especially
if you want to take advantage of the 2.2 kernel’s new features.

What new features are present in the 2.2 kernel?

For this question, we visit the Wonderful World of Linux
2.2
article, that Joseph Pranevich so generously volunteered to
write.

The summary is this:

Increased hardware architecture support

The kernel now fully supports:

  • x86
  • SPARC
  • Ultra
  • Alpha
  • m68k
  • PowerPC

Linux 2.2 is the first stable Linux to support x86 processor
vendor selection in the kernel configuration tool for even better
fine-tuning.

Better CD-ROM support

Thankfully, the hodge-podge of hundreds of CD-ROM standards has
solidified behind the ‘standard’ of ATAPI CD-ROMs. This reprieve
has given developers time to completely rewrite the CD-ROM driver
system to be more standardized in terms of support. Small, quirky
differences between the individual drivers have now all been fixed
for better support.

Sound support

The sound support has been completely re-written in order for
the sound card drivers to be modular from the start. This will ease
the setting up of a sound card, and will allow distribution vendors
more flexibility in their setup.

Graphics

Perhaps the most surprising and cutting-edge addition to kernel
2.2 is what is called the ‘frame-buffer console’ driver (or
‘fbcon’, for short.)

From the kernel source:

“Frame buffer consoles (“fbcon”) are now in the kernel
for all platforms, not just those non-Intel ones for which VGA text
mode is impossible. VGAcon is still available for those who want
it, but fbcon has the advantage of providing a uniform graphical
subsystem across all Linux ports, and it displays a spiffy penguin
logo on boot-up ;-). For more information, see the files in
/usr/src/linux/Documentation/fb/”

New filesystems

The new kernel will support a vast array of filesystems:

  • Amiga FFS
  • Macintosh HFS
  • ROM Filesystem
  • UFS
  • CODA
  • OS/2 HPFS (Read only)
  • NTFS (Read only)

(Not all filesystems supported are listed — only the newer and
more interesting ones…)

Linux 2.2 adds to the already present internationalization
features of the operating system by including the ability to load
some UNICODE codepages for translating filenames into Linux’s
native system. Linux 2.0 only supported international keyboards and
the like.

Linux 2.2 will be a more ‘standard’ UNIX in a number of ways.
The most pronounced of these ways to the end user will be the
addition of UNIX98-style Pty devices using a new filesystem
(devpts) and a cloning device to provide the functionality.

How do I upgrade?

First, you must make sure you are running the latest versions of
these software packages:

Package Version needed How to ascertain version
Kernel modules 2.1.121 insmod -V
Binutils 2.8.1.0.23 ld -v
Linux libc5 C Library 5.4.46 ls -l /lib/libc.so.*
Linux libc6 C Library 2.0.7pre6 ls -l /lib/libc.so.*
Dynamic Linker (ld.so) 1.9.9 ldd –version or ldd -v
Procps 1.2.9 ps –version
Procinfo 15 procinfo -v
Psmisc 17 pstree -V
Net-tools 1.49 hostname -V
Loadlin 1.6a Dos based
Sh-utils 1.16 basename –v
Autofs 3.1.1 automount –version
NFS 2.2beta37 showmount –version
Bash 1.14.7 bash -version
Ncpfs 2.2.0 ncpmount -v
Pcmcia-cs 3.0.6 cardmgr -V
PPP 2.3.5 pppd -v
Util-linux 2.9 chsh -v

You only need to upgrade these packages if you are currently
using them. If you don’t currently use Ncpfs, for example,
don’t worry about getting the latest version
. If you end
up needing to upgrade something, first check with your distribution
vendor’s ftp site for updates. Failing that, you may access the

Linux Changes
page for an HTML-ized version of this table (and
more!) with links to each package’s download site.

There is a good possibility that your distribution is already up
to date, and ready for the kernel.

After this is in place, follow through with the standard kernel
compilation techniques. Untar the file into /usr/src/linux,
then:

cd /usr/src/linux
make config # Answer the questions are are given
make dep ; make clean
make bzImage

Notice that it is now encouraged to use “bzImage” instead of the
old “zImage”. This allows for better compression of a kernel that
has increased considerably in size.

Once you have the new bzImage, you may configure your lilo to
boot the image as normal.

What problems can I expect?

It is still too early to say what kinds of problems people may
find with the new kernel, but if you carefully upgraded each of
your software packages (listed above), you should not run into any
problems.

I have been using the beta to this kernel for quite some time,
with no problems at all. Your results may vary, of course, but if
you have a spare machine that you can play with, I highly encourage
you to take part in this historic event by testing the new kernel
out.

Please use the talkback forum below to voice any comments or
questions you have regarding this article.

Get the Free Newsletter!

Subscribe to Developer Insider for top news, trends, & analysis