El anuncio oficial parece que va a ser el lunes 25 de enero.

>
>
> Date: Thu, 21 Jan 1999 20:07:56 +0000
> From: Joseph Pranevich <[EMAIL PROTECTED]>
> To: [EMAIL PROTECTED]
> Subject: Wonderful World of Linux 2.2 - Milennium Penguin Edition (final)
>
> The Wonderful World of Linux 2.2
> --------------------------------
>
> As any kernel developer can surely tell you, the advent of Linux 2.2 is
> nigh. Linux 2.1 is gone, to be replaced by a new (and shorter) wave of
> 2.2-pre kernels, 2.2.0-pre9 (final) as of this writing. All eyes are looking
> towards next Monday (1/25/99) when the Big Day is expected to finally
> arrive. It is reasonable to expect that the assorted distributions will
> begin to ship the new 2.2 kernels by March. Even if you don't actually
> follow the Linux kernel version by version, 2.2 is an important milestone to
> understand. So, submitted for your approval, here is my take on the Linux
> Kernel Developments of late, with some significant bias towards Linux/i386
> which is the Linux that I use most often at home.
>
> Please note that this document does not cover all the new hardware that
> Linux supports. Many devices, such as scanners and printers, are handled
> exclusively in user space. Other devices, such as video cards and mice, are
> handled by a combination of user and kernel drivers.  If you don't see a
> device class that you are interested in listed in this document, it is quite
> likely that Linux 2.2 supports it -- just not necessarily using the kernel
> to do so.
>
> 1) Chips Galore
>
> The world of Intel chips is a fast and interesting thing to follow, if you
> have nothing better to do. Merced, Celeron, MMX... the names of Intel
> technologies float past to be replaced by new cutting-edge technology.
> (Whether or not these technologies are worthwhile is a matter that I'm not
> even going to begin to try and debate.) In addition, AMD, Cyrix, and other
> companies have become solid competitors in the market and each have their
> own little optimizations, quirks, and bugs.  It's a mess, to say the least.
>
> Linux 2.2 will be the first stable Linux to support options for the various
> non-Intel processors in the kernel configuration tool. Perhaps even more
> importantly, Linux 2.2 (and later revisions of 2.0 for obvious reasons)
> supports bugfixes and workarounds for widespread processor bugs including
> the infamous F00F Pentium bug. Other bugs that can't be worked around, such
> as an AMD K6 sig11 bug, are reported during startup.
>
> Merced hasn't arrived yet and probably isn't immediately forthcoming, but
> Linux 2.2 has already been ported to Sparc64, Alpha, and other 64-bit
> platforms so the infrastructure for a 64-bit native kernel is already
> happily in place. (There are, of course, other obstacles that would have to
> be overcome before Linux/Merced could be released but having a 64-bit ready
> kernel is an important step.)
>
> Multiple-Processor machines now will operate much more efficiently than they
> did in Linux 2.0 with issues such as the global spinlock removed. Up to 16
> processors are supported (the same as with 2.0) but the performance
> difference should be amazing. Also, there is now greater support for the
> IO-APIC on Intel boards that will make SMP generally better supported.  And
> finally, it is now possible to specify a multi-processor configuration
> without ever leaving the kernel configuration tool.
>
> In terms of other ports, Linux 2.2 will feature improved support for a large
> number of 'workstation' machines such as Sparc, Sparc64, and Alpha machines.
> As for 'desktop' machines, Linux 2.2 has been ported to Motorola's m68k and
> PPC processors and now can be expected to run on many of these platforms,
> including the Macintosh. (with varying degrees of hardware support, of
> course.)  Linux is also moving to processors, such as ARM that are
> increasingly popular for embedded systems.
>
> On somewhat of a tangent, there is continuing work to support a subset of
> the Linux kernel on 8086, 8088, 80186, and 80286 machines. This project will
> never integrate itself with Linux-proper but will provide an alternative
> Linux-subset operating system for these machines.
>
> In terms of memory consumption, the average Linux 2.2 setup will require
> more memory than Linux 2.0. (Although a larger number of components can now
> be modularized or compiled-out to allow a system administrator more
> flexibility if memory is tight.) There is some debate as to what is the
> lower limit in terms of functionality with a text-only system but it should
> still be possible to have only 4 megs of RAM in many situations. (8 megs are
> still recommended.) On the bright side, Linux 2.2 includes a number of new
> optimizations that should actually improve the performance of machines with
> at least 16 megs of RAM. The more, the merrier.
>
> 2) System Busses and Assorted Ilk
>
> Although somewhat less crucial and cutting edge, Linux 2.2 will support a
> larger percent of the existing x86 computers with the addition of complete
> support for the Microchannel bus found on some PS/2s and older machines.
>
> In addition to hundreds of minor patches to the bus system (including many
> new PCI device names), larger improvements have taken place. The PCI
> subsystem, in particular, has undergone several major changes. Firstly, the
> PCI device reporting interface has been changed and moved to allow for
> easier addition of new information fields. This particular change doesn't
> spell much of a difference for an end user but it makes the lives of
> developers much easier. Additionally, it is now possible to choose whether
> you want to scan your PCI bus using your compatible PCI BIOS or through
> direct access. This allows Linux 2.2 to work on a larger set of machines as
> several PCI BIOSes were incompatible with the standards and caused booting
> problems.
>
> Sadly, there is still little kernel support for Plug-and-Play ISA devices.
> While that would be a great addition, there are some problems with the
> currently proposed systems that will need to be resolved sometime in 2.3
> before inclusion. Fortunately enough, there happens to be a great user-level
> utility, isapnp, for setting up PnP devices that requires just a tad more
> work than we'd like but gets the job done in true Linux fashion.
>
> Laptops and many workstations can also benefit from improved support for
> power management, including workarounds for a number of incompatible BIOS
> implementations. Also new in 2.2 is the ability to use some functions of an
> APM BIOS on multi-processor systems.
>
> 3) IDE, and SCSI, and USB... Oh my!
>
> As far as Linux IDE is concerned, not much obvious has changed for Linux
> 2.2. The most obvious change is that it is now possible to load and unload
> the IDE subsystem as a module, just like SCSI. (This also has the added
> bonus of allowing one to use a PnP-based IDE controller.) For less
> bleeding-edge machines, the updated IDE driver now supports older MFM and
> RLL disks and controllers without having to load an older version of the
> driver. Linux 2.2 now also has the ability to detect and configure all
> PCI-based IDE cards automatically, including the activation of DMA
> bus-mastering to reduce CPU overhead and improve performance. And finally,
> more drivers have been developed for controllers that are buggy or simply
> different. It's amazing how even excellent things can continue to get
> better.
>
> Elsewhere in the IDE world, parallel port IDE devices have become more
> common and are now supported by Linux 2.2, for the most part. It is a good
> assumption that many devices that are not supported currently will be added
> as 2.2 progresses.
>
> The SCSI subsystem's main improvements have been the addition of many new
> drivers for many new cards and chipsets. Too many, in fact, to even begin to
> name here.
>
> PCMCIA adapters (or PC-card slots, as they are called now) are not supported
> in the standard Linux 2.2 but are supported by an external module provider.
> Thus, while not in the kernel, PCMCIA support will be included in most
> distributions.
>
> IRDA support has also been added to the kernel although many controllers are
> not supported. As this features was added only in the closing days of Linux
> 2.1 development, it may not be as generally usable as other, more mature,
> portions of the kernel.
>
> Alas, there is some bad news here. Despite ongoing efforts by several
> parties to finish USB support, no support was included in time for a Linux
> 2.2 release. Several prominent developers, including Alan Cox, have looked
> at USB support and it is likely that there will be some support before we
> get too far into Linux 2.2.x. (Alternatively, USB support could be provided
> through an external source in the same way that PCMCIA support is now.)
>
> 4) Ports: Parallel and Serial
>
> Nothing much new on this front, Linux has always had incredible support for
> these basic building blocks. The parallel port driver has been rewritten
> with cross-platform issues in mind and thus what was once just a 'Parallel
> Port' is now a 'PC-Style Parallel Port' Functionality-wise, the only obvious
> change is that you can now effortlessly share a single parallel port device
> with multiple device drivers. (Note however that the naming convention used
> to label parallel ports has changed so you may find that your lp1 has become
> your lp0. Distributions should allow for this change automatically however.)
>
> Serial support is chugging along as well as it always has but with one
> notable difference. Previously, a serial device such as a modem involved two
> devices, one for call-in and one for call-out. (ttyS and cua respectively)
> As of Linux 2.2, the two are combined in one device (ttyS)  and accessing
> the cua devices now prints a warning message to the kernel log. On the
> bright side, Linux 2.2 includes support for having more than 4 serial ports,
> it allows serial devices to share interrupts, and it includes a number of
> drivers for non-standard ports and multi-port cards. My only complaint with
> serial support is its lack of support for the standard methods for modules
> to pass device parameters at module-load time via the modules.conf file and
> kmod. (Instead, these parameters are set using the 'setserial' command.
> Somewhat yuck.)
>
> It should also be mentioned that Linux 2.2 will support newer UART chips
> than 2.0 which may translate into higher transfer rates using newer modems.
>
> 5) CD-ROMs, Floppies, and removable media
>
> 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.
>
> Rewritable CD-ROMs aren't supported nearly as well as one would like,
> unfortunately. SCSI CD-ROMs are well done (and most IDE drives use
> SCSI-over-ATA, the SCSI-emulation driver). With other rewritable CD-ROMs,
> your mileage may vary.
>
> Floppies are working as well as ever. There are new developments in terms of
> large volume floppies and it remains to be seen whether or not all of these
> will be supported. Those devices that communicate using ATAPI (a large
> number of them, actually) are already supported to some degree.
>
> IOMEGA's zip drive, an increasingly popular storage solution, is fairly well
> supported under Linux 2.2. These beasts come in three versions: SCSI, ATAPI
> (IDE), and Parallel. Under SCSI and ATAPI, the Zip drives are supported just
> as any other disk would be. The parallel version of these drives actually
> use a sort of SCSI-over-parallel protocol that is also supported in Linux
> 2.2.  (Other IOMEGA solutions such as DITTO drives may also be supported
> using the ftape drivers.)
>
> DVD drives are already supported, to some degree, under Linux as they
> represent themselves largely as ATAPI drives. (SCSI DVD drives may not, but
> they will probably work using the excellent SCSI CD-ROM driver.)
> Unfortunately, this does not necessarily mean that all will be rosy in the
> Linux/DVD world as Linux does not currently support any DVD-centric
> filesystems that have been proposed nor are any user-space tools developed
> to display DVD movies and etc. Once the standards stabilize a bit, it is
> highly likely that the requisite parts will be added to the Linux kernel
> sometime during the 2.2.x cycle, following the initial release.
>
> Other removable media may or may not be supported under Linux 2.2. If the
> device connects through the parallel port, it is possible that it is
> supported using one of the Parallel Port IDE device protocol modules that
> are included in the kernel.
>
> 6) Glorious Sounds!
>
> At long last, the sound code has been partially rewritten to be completely
> modular from start to finish. Distributions will be able to more easily
> include generic sound support out-of-the-box for their users as well as
> making it easier for the rest of us to load and configure sound devices.
> (Especially pesky Plug-and-Play ones.) Lots of new sound devices are
> supported as well and it looks like this is one area where Linux will really
> improve in the next year.
>
> One very notable defect here is the remaining lack of support for the PC
> internal speaker, if only for completeness. Then again, Windows 95/98
> doesn't do it either so who am I to judge?
>
> 7) Video4Linux
>
> Linux 2.2 now has amazing support for a growing number of TV and radio tuner
> cards and digital cameras. This is a truly bleeding edge addition to 2.1's
> roster so there may still be some outstanding issues but it is reasonable to
> assume that they will be fixed in time. In my humble opinion, this is just
> an amazing area for Linux to be in at all.
>
> 8) Back me up, Scotty!
>
> Linux 2.2's backup and tape device subsystem has not changed much since the
> 2.0 release. More drivers for devices have been written, of course and
> substantial improvement has been made for backup devices that work off of
> the floppy disk controller (including the IOMEGA DITTO).
>
> Rewritable CD-ROMs have become a popular solution for backing up data and
> they are supported under Linux 2.2 There are still outstanding issues in
> this regard, see my note above on CD-ROMs for details.
>
> 9) Joysticks, Mouse, and Input Devices
>
> Joysticks are better supported in 2.2 including a large number of new
> joysticks and joysticks with an inordinate numbers of buttons. Likely, your
> joystick will work under Linux 2.2.
>
> Mice in 2.2 aren't really different from mice in 2.0. (As in 2.0, there are
> some inconsistencies regarding mouse support that will be addressed in the
> future. For the most part, mouse control is provided through a daemon
> external to the kernel. Some mouse drivers however 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.) It should be noted
> that, while not solely a kernel issue, mice with Microsoft's spinning wheel
> extension are supported in recent versions of the XFree86, Linux's most
> popular GUI. (However many Linux applications have not been designed to take
> advantage of this feature.)
>
> Additionally, several other input devices are now supported under Linux 2.2
> including some digitizer pads. If your devices emulates a mouse (as many do)
> then it is already supported by Linux 2.2 (and, in fact, Linux 2.0).
>
> 10) Video
>
> Perhaps the most surprising and cutting-edge addition to the Linux kernel
> version 2.2 is what is called the 'frame-buffer console' driver (or 'fbcon',
> for short.)
>
> Previously, the Linux kernel (for Intel-based machines) only understood and
> manipulated the video devices in text mode. Graphical support was to be
> provided by two other systems: 'svgalib' for console-based graphics, and a
> specialized X Server for window-based graphics. This kludgey system often
> required configuration information to be repeated and each system supported
> only a limited slice of the myriad of video devices in common use.
>
> Since this addition is rather new, it remains to be seen whether it will
> truly replace the previous and long-standing duality. Unfortunately, it
> could be nearly a year after Linux 2.2 ships before this new system could be
> robust enough to support the cards and technologies that we already take for
> granted as working. My personal opinion is that this is the right idea, but
> I'm going to withhold judgment until we see exactly how far Linus and the
> developers decide to take this feature.
>
> As an added side-effect of this new feature, primitive multi-heading has
> been added into the kernel for some devices. Currently, this is limited to
> some text-mode output but it is reasonable to assume that this very new
> addition to the Linux kernel will mature somewhat during the 2.2.x and 2.3.x
> cycles.
>
> It should also be mentioned that it is now possible to remove support for
> 'virtual' terminals as provided by the kernel. This allows very
> memory-conscious people to save just a tad more.
>
> Although unimaginable to the desktop user, Linux can now work even better on
> systems that do not actually include any sort of video device. In addition
> to being able to log in over serial or networked lines, as Linux 2.0 and
> previous Linuxes allowed, it is now possible to redirect all the kernel
> messages (usually sent to the console directly before any hardware was
> initialized) to a serial device.
>
> 11) Networking: Ethernet, ISDN, and the lowly modem.
>
> I don't have a huge amount of experience here; I've been using the same
> network cards in all my machines for several years. But, it doesn't take an
> Alan Cox to see that the number of supported Ethernet and ISDN devices
> supported in Linux 2.2 has risen sharply. I have been told that newer
> solutions such as cable modems are supported, also.
>
> My only gripe in this regard is the continued non-support of so-called
> 'Winmodems.' Not that I blame Linux for their absence, making modems that
> are 80% software is just a dumb idea anyway, but the idealist in me hopes
> that some day these pesky devils will be supported like their less retarded
> cousins.
>
> 12) Amateur Radio people are Linux people, too.
>
> Since before Linux 2.0, Linux has been one of the few desktop OSes to
> include native support for computer-based amateur radio people. (Not that I
> actually know what that entails but it seems to be a more popular option
> outside the US.) Linux 2.2 adds support for NetROM and ROSE amateur radio
> protocols. The basic AX.25 layer has also been materially enhanced.
>
> 13) Filesystems for the World
>
> Linux 2.2 has a wide array of new filesystems and partition types for
> interconnectivity. In addition, many of Linux's supported filesystems
> (including those I haven't listed here) have been updated with a new caching
> system to markedly improve performance. (In fact, not updating the drivers
> wasn't even an option if one wanted them included in Linux 2.2.)
>
> For the Microsoft nut, Linux will now read (and maybe write) NTFS (Windows
> NT) drives and Windows 98's FAT32 drives (also used by some later versions
> of Windows 95). Linux 2.2 also understands Microsoft's Joliet system for
> long filenames on CD-ROMs. And finally, Linux also understands a new type of
> extended partition that Microsoft invented. Drivers to read and write
> Microsoft and Stacker compressed drives are being developed but not yet
> included in the kernel.
>
> For Mac connectivity, a HFS driver for reading and writing Mac disks has
> been included. HFS+ and MFS (ancient floppy format) are not yet supported.
> Macintosh partition tables can now also be read by the kernel; this allows
> Mac 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 complete overhaul that some were hoping for.
>
> If there are any Amiga users left (and there are), they will be pleased to
> know that the FFS driver has undergone some minor updates since 2.0. This is
> especially useful as the new generation of PPC Amigas will continue to
> support this format.
>
> For connectivity to other UNIXes, Linux 2.2 has come forward in leaps and
> bounds. Linux 2.2 still includes the UFS filesystem which is used on BSD
> derived systems, including Solaris and the free versions of BSD. Linux 2.2
> can now also read the partition table formats used by FreeBSD, SunOS, and
> Solaris. For SysV-style UNIXs, Linux 2.2 features a somewhat updated version
> of SysVFS. Linux 2.2 can also read the Acorn's RiscOS disks. And finally,
> Linux 2.2 features a somewhat updated version of the ever-popular Minix
> filesystem, which can be used for small drives and floppies on most UNIXes.
> With so many incompatible formats (and Linux 2.2 reading so many of them),
> it's 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'
> filesystem. (This shouldn't matter to many people, 'ext2' is far superior to
> its predecessor.) With the increased support of initial ramdisks, a 'romfs'
> has been created which has very minimal overhead.
>
> While not quite a filesystem, Linux 2.2 includes enhanced support for
> stretching a filesystem across several disks transparently. At present, this
> support can be used in RAID 0, 1, 4, and 5 modes as well as a simple linear
> mode.
>
> 14) Networking II: Under the Hood
>
> On the protocol front, a lot has happened that I simply don't understand
> completely. The next generation Internet protocol, IPv6, has made an
> appearance. SPX, a compliment to IPX is new, as well. DDP, the protocol of
> choice for AppleTalk networking has also been improved. And, just as you
> would come to expect by now, the existing protocols have been improved, as
> well. I only wish I had the need to use some of this stuff...
>
> On the low-end front, not much has changed. PPP, SLIP, CSLIP, and PLIP are
> all still available for use. I guess some things don't need much
> improvement. (Although each of those drivers have been updated in one way or
> another.)
>
> The list keeps going, however. Linux 2.2 will have an excellent new
> networking core, new tunneling code, a completely new firewalling and
> routing system called 'ipchains', support for limiting bandwidth
> consumption, and a ton more. It's just amazing. I wish I could keep track of
> it all. (But, who am I kidding?)
>
> It should be noted that file and printer sharing protocols have also been
> improved and markedly enhanced. SMB, the protocol for accessing
> Windows-based shared filesystems has been somewhat improved with bugfixes
> and the like. If you are a fan of NetWare (doubtful), you'll be happy to
> know that Linux 2.2 supports a large number of improvements in this area,
> including access to two different kinds of NCP long file names. Trusty NFS
> has also been improved, both at the server level and the client level. And
> finally, those eggheads over at CMU have been hard at work developing the
> new distributed network filesystem, Coda. This filesystem supports a large
> number of highly-requested features including disconnected operations for
> laptops, an advanced cache system, and security improvements.
>
> On somewhat of a tangent, Linux 2.2 also includes a driver which will allow
> one to share (and remotely mount) whole disk images over a network.
>
> 15) Not Everyone Speaks English.
>
> Linux 2.0 is a very international OS with support for international
> keyboards and the like. Linux 2.2 adds to this and other
> internationalization features the ability to load some UNICODE codepages for
> translating filenames into Linux's native system. (Currently, the only
> filesystems that use these UNICODE codepages include Microsoft's VFAT and
> Microsoft's Joilet ISO 9660 (CD-ROM filesystem) extension.)
>
> 16) Unix98: The Next Generation
>
> 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.
>
> 17) And, finally...
>
> In addition to those noted above, there are a large number of other drivers
> and things that just don't fit in anywhere but should still be noted. So, in
> no given order, the oddball updates of Linux 2.2:
>
> The loopback driver, which allows disk images to be mounted and manipulated
> just like any regular drive, has been improved in a number of ways. Of these
> improvements, the most notable difference to users will be its increased
> support for encryption and the mounting of encrypted hard disks and disk
> images.
>
> A driver for accessing your computer's CMOS memory has also been provided in
> Linux 2.2 which may be useful in some applications. (Sadly, a similar driver
> to access your BIOS's flashable RAM did not make it, it will still be
> necessary to boot from a DOS floppy to flash your computer's BIOS to a new
> version.)
>
> And finally, in the past, Linux used a half-user/half-kernel method of
> loading in and out drivers (called 'modules') called 'kerneld' This method
> was good but inefficient. Linux 2.2 has removed kerneld and replaced it with
> a smaller all-kernel solution called 'kmod'.
>
> ------------
>
> This is the 'milennium penguin' version of this document (1/21/99) and is
> really just a minor update over the 'really final' version. As Linux 2.2
> will be out on Monday (I hope), this should be the last revision until 2.4.
> (Am I already thinking about doing one for 2.4... maybe.) You can feel free
> to still provide me with suggestions and etc. but it's not likely to help
> much. My new email address is [EMAIL PROTECTED]
>
> Thank you, and Good Night.
>
> Joseph Pranevich
Title: d/wwo2.2

[LWN Logo]

Date: Thu, 21 Jan 1999 20:07:56 +0000
From: Joseph Pranevich <[EMAIL PROTECTED]>
To: [EMAIL PROTECTED]
Subject: Wonderful World of Linux 2.2 - Milennium Penguin Edition (final)


The Wonderful World of Linux 2.2
--------------------------------

As any kernel developer can surely tell you, the advent of Linux 2.2 is
nigh. Linux 2.1 is gone, to be replaced by a new (and shorter) wave of
2.2-pre kernels, 2.2.0-pre9 (final) as of this writing. All eyes are looking
towards next Monday (1/25/99) when the Big Day is expected to finally
arrive. It is reasonable to expect that the assorted distributions will
begin to ship the new 2.2 kernels by March. Even if you don't actually
follow the Linux kernel version by version, 2.2 is an important milestone to
understand. So, submitted for your approval, here is my take on the Linux
Kernel Developments of late, with some significant bias towards Linux/i386
which is the Linux that I use most often at home.

Please note that this document does not cover all the new hardware that
Linux supports. Many devices, such as scanners and printers, are handled
exclusively in user space. Other devices, such as video cards and mice, are
handled by a combination of user and kernel drivers.  If you don't see a
device class that you are interested in listed in this document, it is quite
likely that Linux 2.2 supports it -- just not necessarily using the kernel
to do so.

1) Chips Galore

The world of Intel chips is a fast and interesting thing to follow, if you
have nothing better to do. Merced, Celeron, MMX... the names of Intel
technologies float past to be replaced by new cutting-edge technology.  
(Whether or not these technologies are worthwhile is a matter that I'm not
even going to begin to try and debate.) In addition, AMD, Cyrix, and other
companies have become solid competitors in the market and each have their
own little optimizations, quirks, and bugs.  It's a mess, to say the least.

Linux 2.2 will be the first stable Linux to support options for the various
non-Intel processors in the kernel configuration tool. Perhaps even more
importantly, Linux 2.2 (and later revisions of 2.0 for obvious reasons)  
supports bugfixes and workarounds for widespread processor bugs including
the infamous F00F Pentium bug. Other bugs that can't be worked around, such
as an AMD K6 sig11 bug, are reported during startup.

Merced hasn't arrived yet and probably isn't immediately forthcoming, but
Linux 2.2 has already been ported to Sparc64, Alpha, and other 64-bit
platforms so the infrastructure for a 64-bit native kernel is already
happily in place. (There are, of course, other obstacles that would have to
be overcome before Linux/Merced could be released but having a 64-bit ready
kernel is an important step.)

Multiple-Processor machines now will operate much more efficiently than they
did in Linux 2.0 with issues such as the global spinlock removed. Up to 16
processors are supported (the same as with 2.0) but the performance
difference should be amazing. Also, there is now greater support for the
IO-APIC on Intel boards that will make SMP generally better supported.  And
finally, it is now possible to specify a multi-processor configuration
without ever leaving the kernel configuration tool.

In terms of other ports, Linux 2.2 will feature improved support for a large
number of 'workstation' machines such as Sparc, Sparc64, and Alpha machines.
As for 'desktop' machines, Linux 2.2 has been ported to Motorola's m68k and
PPC processors and now can be expected to run on many of these platforms,
including the Macintosh. (with varying degrees of hardware support, of
course.)  Linux is also moving to processors, such as ARM that are
increasingly popular for embedded systems.

On somewhat of a tangent, there is continuing work to support a subset of
the Linux kernel on 8086, 8088, 80186, and 80286 machines. This project will
never integrate itself with Linux-proper but will provide an alternative
Linux-subset operating system for these machines.

In terms of memory consumption, the average Linux 2.2 setup will require
more memory than Linux 2.0. (Although a larger number of components can now
be modularized or compiled-out to allow a system administrator more
flexibility if memory is tight.) There is some debate as to what is the
lower limit in terms of functionality with a text-only system but it should
still be possible to have only 4 megs of RAM in many situations. (8 megs are
still recommended.) On the bright side, Linux 2.2 includes a number of new
optimizations that should actually improve the performance of machines with
at least 16 megs of RAM. The more, the merrier.

2) System Busses and Assorted Ilk

Although somewhat less crucial and cutting edge, Linux 2.2 will support a
larger percent of the existing x86 computers with the addition of complete
support for the Microchannel bus found on some PS/2s and older machines.

In addition to hundreds of minor patches to the bus system (including many
new PCI device names), larger improvements have taken place. The PCI
subsystem, in particular, has undergone several major changes. Firstly, the
PCI device reporting interface has been changed and moved to allow for
easier addition of new information fields. This particular change doesn't
spell much of a difference for an end user but it makes the lives of
developers much easier. Additionally, it is now possible to choose whether
you want to scan your PCI bus using your compatible PCI BIOS or through
direct access. This allows Linux 2.2 to work on a larger set of machines as
several PCI BIOSes were incompatible with the standards and caused booting
problems.

Sadly, there is still little kernel support for Plug-and-Play ISA devices.  
While that would be a great addition, there are some problems with the
currently proposed systems that will need to be resolved sometime in 2.3
before inclusion. Fortunately enough, there happens to be a great user-level
utility, isapnp, for setting up PnP devices that requires just a tad more
work than we'd like but gets the job done in true Linux fashion.

Laptops and many workstations can also benefit from improved support for
power management, including workarounds for a number of incompatible BIOS
implementations. Also new in 2.2 is the ability to use some functions of an
APM BIOS on multi-processor systems.

3) IDE, and SCSI, and USB... Oh my!

As far as Linux IDE is concerned, not much obvious has changed for Linux
2.2. The most obvious change is that it is now possible to load and unload
the IDE subsystem as a module, just like SCSI. (This also has the added
bonus of allowing one to use a PnP-based IDE controller.) For less
bleeding-edge machines, the updated IDE driver now supports older MFM and
RLL disks and controllers without having to load an older version of the
driver. Linux 2.2 now also has the ability to detect and configure all
PCI-based IDE cards automatically, including the activation of DMA
bus-mastering to reduce CPU overhead and improve performance. And finally,
more drivers have been developed for controllers that are buggy or simply
different. It's amazing how even excellent things can continue to get
better.

Elsewhere in the IDE world, parallel port IDE devices have become more
common and are now supported by Linux 2.2, for the most part. It is a good
assumption that many devices that are not supported currently will be added
as 2.2 progresses.

The SCSI subsystem's main improvements have been the addition of many new
drivers for many new cards and chipsets. Too many, in fact, to even begin to
name here.

PCMCIA adapters (or PC-card slots, as they are called now) are not supported
in the standard Linux 2.2 but are supported by an external module provider.
Thus, while not in the kernel, PCMCIA support will be included in most
distributions.

IRDA support has also been added to the kernel although many controllers are
not supported. As this features was added only in the closing days of Linux
2.1 development, it may not be as generally usable as other, more mature,
portions of the kernel.

Alas, there is some bad news here. Despite ongoing efforts by several
parties to finish USB support, no support was included in time for a Linux
2.2 release. Several prominent developers, including Alan Cox, have looked
at USB support and it is likely that there will be some support before we
get too far into Linux 2.2.x. (Alternatively, USB support could be provided
through an external source in the same way that PCMCIA support is now.)

4) Ports: Parallel and Serial

Nothing much new on this front, Linux has always had incredible support for
these basic building blocks. The parallel port driver has been rewritten
with cross-platform issues in mind and thus what was once just a 'Parallel
Port' is now a 'PC-Style Parallel Port' Functionality-wise, the only obvious
change is that you can now effortlessly share a single parallel port device
with multiple device drivers. (Note however that the naming convention used
to label parallel ports has changed so you may find that your lp1 has become
your lp0. Distributions should allow for this change automatically however.)

Serial support is chugging along as well as it always has but with one
notable difference. Previously, a serial device such as a modem involved two
devices, one for call-in and one for call-out. (ttyS and cua respectively)
As of Linux 2.2, the two are combined in one device (ttyS)  and accessing
the cua devices now prints a warning message to the kernel log. On the
bright side, Linux 2.2 includes support for having more than 4 serial ports,
it allows serial devices to share interrupts, and it includes a number of
drivers for non-standard ports and multi-port cards. My only complaint with
serial support is its lack of support for the standard methods for modules
to pass device parameters at module-load time via the modules.conf file and
kmod. (Instead, these parameters are set using the 'setserial' command.
Somewhat yuck.)

It should also be mentioned that Linux 2.2 will support newer UART chips
than 2.0 which may translate into higher transfer rates using newer modems.

5) CD-ROMs, Floppies, and removable media

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.

Rewritable CD-ROMs aren't supported nearly as well as one would like,
unfortunately. SCSI CD-ROMs are well done (and most IDE drives use
SCSI-over-ATA, the SCSI-emulation driver). With other rewritable CD-ROMs,
your mileage may vary.

Floppies are working as well as ever. There are new developments in terms of
large volume floppies and it remains to be seen whether or not all of these
will be supported. Those devices that communicate using ATAPI (a large
number of them, actually) are already supported to some degree.

IOMEGA's zip drive, an increasingly popular storage solution, is fairly well
supported under Linux 2.2. These beasts come in three versions: SCSI, ATAPI
(IDE), and Parallel. Under SCSI and ATAPI, the Zip drives are supported just
as any other disk would be. The parallel version of these drives actually
use a sort of SCSI-over-parallel protocol that is also supported in Linux
2.2.  (Other IOMEGA solutions such as DITTO drives may also be supported
using the ftape drivers.)

DVD drives are already supported, to some degree, under Linux as they
represent themselves largely as ATAPI drives. (SCSI DVD drives may not, but
they will probably work using the excellent SCSI CD-ROM driver.)
Unfortunately, this does not necessarily mean that all will be rosy in the
Linux/DVD world as Linux does not currently support any DVD-centric
filesystems that have been proposed nor are any user-space tools developed
to display DVD movies and etc. Once the standards stabilize a bit, it is
highly likely that the requisite parts will be added to the Linux kernel
sometime during the 2.2.x cycle, following the initial release.

Other removable media may or may not be supported under Linux 2.2. If the
device connects through the parallel port, it is possible that it is
supported using one of the Parallel Port IDE device protocol modules that
are included in the kernel.

6) Glorious Sounds!

At long last, the sound code has been partially rewritten to be completely
modular from start to finish. Distributions will be able to more easily
include generic sound support out-of-the-box for their users as well as
making it easier for the rest of us to load and configure sound devices.
(Especially pesky Plug-and-Play ones.) Lots of new sound devices are
supported as well and it looks like this is one area where Linux will really
improve in the next year.

One very notable defect here is the remaining lack of support for the PC
internal speaker, if only for completeness. Then again, Windows 95/98
doesn't do it either so who am I to judge?

7) Video4Linux

Linux 2.2 now has amazing support for a growing number of TV and radio tuner
cards and digital cameras. This is a truly bleeding edge addition to 2.1's
roster so there may still be some outstanding issues but it is reasonable to
assume that they will be fixed in time. In my humble opinion, this is just
an amazing area for Linux to be in at all.

8) Back me up, Scotty!

Linux 2.2's backup and tape device subsystem has not changed much since the
2.0 release. More drivers for devices have been written, of course and
substantial improvement has been made for backup devices that work off of
the floppy disk controller (including the IOMEGA DITTO).

Rewritable CD-ROMs have become a popular solution for backing up data and
they are supported under Linux 2.2 There are still outstanding issues in
this regard, see my note above on CD-ROMs for details.

9) Joysticks, Mouse, and Input Devices

Joysticks are better supported in 2.2 including a large number of new
joysticks and joysticks with an inordinate numbers of buttons. Likely, your
joystick will work under Linux 2.2.

Mice in 2.2 aren't really different from mice in 2.0. (As in 2.0, there are
some inconsistencies regarding mouse support that will be addressed in the
future. For the most part, mouse control is provided through a daemon
external to the kernel. Some mouse drivers however 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.) It should be noted
that, while not solely a kernel issue, mice with Microsoft's spinning wheel
extension are supported in recent versions of the XFree86, Linux's most
popular GUI. (However many Linux applications have not been designed to take
advantage of this feature.)

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

10) Video

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

Previously, the Linux kernel (for Intel-based machines) only understood and
manipulated the video devices in text mode. Graphical support was to be
provided by two other systems: 'svgalib' for console-based graphics, and a
specialized X Server for window-based graphics. This kludgey system often
required configuration information to be repeated and each system supported
only a limited slice of the myriad of video devices in common use.

Since this addition is rather new, it remains to be seen whether it will
truly replace the previous and long-standing duality. Unfortunately, it
could be nearly a year after Linux 2.2 ships before this new system could be
robust enough to support the cards and technologies that we already take for
granted as working. My personal opinion is that this is the right idea, but
I'm going to withhold judgment until we see exactly how far Linus and the
developers decide to take this feature.

As an added side-effect of this new feature, primitive multi-heading has
been added into the kernel for some devices. Currently, this is limited to
some text-mode output but it is reasonable to assume that this very new
addition to the Linux kernel will mature somewhat during the 2.2.x and 2.3.x
cycles.

It should also be mentioned that it is now possible to remove support for
'virtual' terminals as provided by the kernel. This allows very
memory-conscious people to save just a tad more.

Although unimaginable to the desktop user, Linux can now work even better on
systems that do not actually include any sort of video device. In addition
to being able to log in over serial or networked lines, as Linux 2.0 and
previous Linuxes allowed, it is now possible to redirect all the kernel
messages (usually sent to the console directly before any hardware was
initialized) to a serial device.

11) Networking: Ethernet, ISDN, and the lowly modem.

I don't have a huge amount of experience here; I've been using the same
network cards in all my machines for several years. But, it doesn't take an
Alan Cox to see that the number of supported Ethernet and ISDN devices
supported in Linux 2.2 has risen sharply. I have been told that newer
solutions such as cable modems are supported, also.

My only gripe in this regard is the continued non-support of so-called
'Winmodems.' Not that I blame Linux for their absence, making modems that
are 80% software is just a dumb idea anyway, but the idealist in me hopes
that some day these pesky devils will be supported like their less retarded
cousins.

12) Amateur Radio people are Linux people, too.

Since before Linux 2.0, Linux has been one of the few desktop OSes to
include native support for computer-based amateur radio people. (Not that I
actually know what that entails but it seems to be a more popular option
outside the US.) Linux 2.2 adds support for NetROM and ROSE amateur radio
protocols. The basic AX.25 layer has also been materially enhanced.

13) Filesystems for the World

Linux 2.2 has a wide array of new filesystems and partition types for
interconnectivity. In addition, many of Linux's supported filesystems
(including those I haven't listed here) have been updated with a new caching
system to markedly improve performance. (In fact, not updating the drivers
wasn't even an option if one wanted them included in Linux 2.2.)

For the Microsoft nut, Linux will now read (and maybe write) NTFS (Windows
NT) drives and Windows 98's FAT32 drives (also used by some later versions
of Windows 95). Linux 2.2 also understands Microsoft's Joliet system for
long filenames on CD-ROMs. And finally, Linux also understands a new type of
extended partition that Microsoft invented. Drivers to read and write
Microsoft and Stacker compressed drives are being developed but not yet
included in the kernel.

For Mac connectivity, a HFS driver for reading and writing Mac disks has
been included. HFS+ and MFS (ancient floppy format) are not yet supported.
Macintosh partition tables can now also be read by the kernel; this allows
Mac 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 complete overhaul that some were hoping for.

If there are any Amiga users left (and there are), they will be pleased to
know that the FFS driver has undergone some minor updates since 2.0. This is
especially useful as the new generation of PPC Amigas will continue to
support this format.

For connectivity to other UNIXes, Linux 2.2 has come forward in leaps and
bounds. Linux 2.2 still includes the UFS filesystem which is used on BSD
derived systems, including Solaris and the free versions of BSD. Linux 2.2
can now also read the partition table formats used by FreeBSD, SunOS, and
Solaris. For SysV-style UNIXs, Linux 2.2 features a somewhat updated version
of SysVFS. Linux 2.2 can also read the Acorn's RiscOS disks. And finally,
Linux 2.2 features a somewhat updated version of the ever-popular Minix
filesystem, which can be used for small drives and floppies on most UNIXes.
With so many incompatible formats (and Linux 2.2 reading so many of them),
it's 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'
filesystem. (This shouldn't matter to many people, 'ext2' is far superior to
its predecessor.) With the increased support of initial ramdisks, a 'romfs'
has been created which has very minimal overhead.

While not quite a filesystem, Linux 2.2 includes enhanced support for
stretching a filesystem across several disks transparently. At present, this
support can be used in RAID 0, 1, 4, and 5 modes as well as a simple linear
mode.
 
14) Networking II: Under the Hood

On the protocol front, a lot has happened that I simply don't understand
completely. The next generation Internet protocol, IPv6, has made an
appearance. SPX, a compliment to IPX is new, as well. DDP, the protocol of
choice for AppleTalk networking has also been improved. And, just as you
would come to expect by now, the existing protocols have been improved, as
well. I only wish I had the need to use some of this stuff...

On the low-end front, not much has changed. PPP, SLIP, CSLIP, and PLIP are
all still available for use. I guess some things don't need much
improvement. (Although each of those drivers have been updated in one way or
another.)

The list keeps going, however. Linux 2.2 will have an excellent new
networking core, new tunneling code, a completely new firewalling and
routing system called 'ipchains', support for limiting bandwidth
consumption, and a ton more. It's just amazing. I wish I could keep track of
it all. (But, who am I kidding?)

It should be noted that file and printer sharing protocols have also been
improved and markedly enhanced. SMB, the protocol for accessing
Windows-based shared filesystems has been somewhat improved with bugfixes
and the like. If you are a fan of NetWare (doubtful), you'll be happy to
know that Linux 2.2 supports a large number of improvements in this area,
including access to two different kinds of NCP long file names. Trusty NFS
has also been improved, both at the server level and the client level. And
finally, those eggheads over at CMU have been hard at work developing the
new distributed network filesystem, Coda. This filesystem supports a large
number of highly-requested features including disconnected operations for
laptops, an advanced cache system, and security improvements.

On somewhat of a tangent, Linux 2.2 also includes a driver which will allow
one to share (and remotely mount) whole disk images over a network.

15) Not Everyone Speaks English.

Linux 2.0 is a very international OS with support for international
keyboards and the like. Linux 2.2 adds to this and other
internationalization features the ability to load some UNICODE codepages for
translating filenames into Linux's native system. (Currently, the only
filesystems that use these UNICODE codepages include Microsoft's VFAT and
Microsoft's Joilet ISO 9660 (CD-ROM filesystem) extension.)

16) Unix98: The Next Generation

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.

17) And, finally...

In addition to those noted above, there are a large number of other drivers
and things that just don't fit in anywhere but should still be noted. So, in
no given order, the oddball updates of Linux 2.2:

The loopback driver, which allows disk images to be mounted and manipulated
just like any regular drive, has been improved in a number of ways. Of these
improvements, the most notable difference to users will be its increased
support for encryption and the mounting of encrypted hard disks and disk
images.

A driver for accessing your computer's CMOS memory has also been provided in
Linux 2.2 which may be useful in some applications. (Sadly, a similar driver
to access your BIOS's flashable RAM did not make it, it will still be
necessary to boot from a DOS floppy to flash your computer's BIOS to a new
version.)

And finally, in the past, Linux used a half-user/half-kernel method of
loading in and out drivers (called 'modules') called 'kerneld' This method
was good but inefficient. Linux 2.2 has removed kerneld and replaced it with
a smaller all-kernel solution called 'kmod'.

------------

This is the 'milennium penguin' version of this document (1/21/99) and is
really just a minor update over the 'really final' version. As Linux 2.2
will be out on Monday (I hope), this should be the last revision until 2.4.
(Am I already thinking about doing one for 2.4... maybe.) You can feel free
to still provide me with suggestions and etc. but it's not likely to help
much. My new email address is [EMAIL PROTECTED]
                                                          
Thank you, and Good Night.

Joseph Pranevich

Responder a