The Wonderful World of Linux 2.2

Mr. Pranevich gives us a look at the changes and improvements coming out in the new kernel.
Joysticks, Mouse and Input Devices

Joysticks will be better supported in 2.2, including a large number of new joysticks and ones with an inordinate number of buttons.

Mice in 2.2 aren't very different from those in 2.0. As in 2.0, some inconsistencies regarding mouse support will be addressed in the future. For the most part, mouse control is provided through a daemon external to the kernel. Some mouse drivers deliberately emulate a Microsoft-standard mouse. The reasoning behind this is obvious, but it would be nice if it was decided on in one way or the other. My only other complaint is that Microsoft mice with the little spinning wheel have no real support, not even using the wheel as a third button. Again, that really isn't a kernel issue. No big problems are present, though.

Additionally, several other input devices are now supported under Linux 2.2, including some digitizer pads. If your devices emulate a mouse (as many do), it is already supported by Linux 2.2 (and, in fact, by Linux 2.0.)

Bits and Pieces

Many smaller additions have been made to the Linux 2.2 kernel to make it more robust, and many of these honestly don't fit in any other category. The loopback driver, which allows you to mount disk images as if they were real drives, has been improved to support better encryption, although there may be issues here with U.S. laws. Also, support is now provided for “initial RAM disks” to allow a Linux user or distribution to boot a kernel with no hardware support compiled in, and to load the required device drivers from a small RAM disk. This is useful for systems with Plug-and-Play devices that can't be accessed until after a user-mode configuration program is run. A driver has also been provided in Linux 2.2 to access CMOS (complementary metal oxide semiconductor) RAM directly for whatever reason. A similar driver to access the flash memory of many BIOS was not put into 2.2, but may be included in Linux 2.4. It may still be necessary to boot DOS from a floppy to update your computer's flashable BIOS. Finally, Linux 2.2 allows you to share raw disk images over a network.

File Systems for the World

Linux 2.2 has a wide array of new file systems and partition types to provide interconnectivity. For the Microsoft nut, Linux will now read (and maybe write) NTFS (Windows NT) partitions and Windows 98 (and Windows 95 OSR2) FAT32 partitions. Linux 2.2 also understands Microsoft's Joliet system for long file names on CD-ROMs, and a new type of extended partition invented by Microsoft.

Drivers to read and write Microsoft and Stacker compressed drives are being developed but are not yet included in the kernel.

For Macintosh connectivity, an HFS driver for reading and writing Macintosh disks has been included. HFS+ and older Macintosh file systems are not yet supported. Macintosh partition tables can also be read by the kernel; this allows Macintosh SCSI disks to be mounted natively.

Sadly, OS/2 users will still not be able to write to their HPFS drives. Some updates have been made to the HPFS driver to support the new “dcache” system, but not the hoped-for overhaul.

If there are any Amiga users left, they will be pleased to know that the FFS driver has undergone some minor updates since 2.0. This may be especially useful if the new generation of PPC Amigas uses the same disk format.

For connectivity to other UNIX systems, Linux 2.2 has come forward in leaps and bounds. Linux 2.2 still includes the UFS file system which is used on BSD-derived systems, such as Solaris and the free versions of BSD. Linux 2.2 can also read the partition-table formats used by FreeBSD, SunOS and Solaris. For SysV-style UNIX systems, Linux 2.2 features an updated version of SysVFS. It can also read Acorn's RiscOS disks. Finally, Linux 2.2 features an updated version of the ever-popular Minix file system that can be used for small drives and floppies on most UNIX systems. With so many incompatible formats and Linux 2.2 reading so many of them, it is amazing anyone ever got any work done.

In other news, support for “extended” drives (the format used by much older versions of Linux) has been removed in favor of the “second extended” file system. (This shouldn't matter to many people; Ext2 is far superior to its predecessor.) With the increased support of initial RAM disks, a “romfs” has been created which requires a very minimal amount of overhead.

While not quite a file system, Linux 2.2 includes enhanced support for stretching a file system across several disks transparently. At present, this support can be used in RAID 0, 1, 4 and 5 modes as well as in a simple linear mode.