Newsgroups: comp.os.linux.announce
From: (Linus Torvalds)
Subject: [ANNOUNCE] linux-0.99 patchlevel 10
Message-ID: <1993Jun8.144533.18908@klaava.Helsinki.FI>
Followup-To: comp.os.linux
Summary: YAKR
Keywords: kernel release pl10, finally
Sender: wirzeniu@klaava.Helsinki.FI (Lars Wirzenius)
Organization: University of Helsinki
Date: Tue, 8 Jun 1993 14:45:33 GMT
Approved: (Lars Wirzenius)
Lines: 104
Status: O

I've finally released an official version of linux-0.99 patchlevel 10:
there have been various alpha versions floating around which differ in
details (notably networking code), which shouldn't be used any more. 
The new linux version is available only as full source code: the diffs
would have been too big to be useful.  You can find linux-0.99.10.tar.z
(along with keytables.tar.z) on pub/OS/Linux/PEOPLE/Linus
and probably on tsx-11 and other linux archives within a day or two (so
check there first if you are in the states). 

Linux-0.99 pl10 has a number of new features and changes in interface. 
The most notable of these are:

 - the networking code is reorganized (generally called "net-2",
   although unrelated to the BSD release).  The new code implements a
   lot of standard features lacking in net-1, and also changes the user
   interface to be closer to the BSD standards.  Notably, the old
   configuration binaries won't work, so to get the new networking to
   work you'll have to get the net-2 binaries as well.  The networking
   binaries are available on (and mirrors) under the
   directory pub/linux/packages/net/net-2 (and the setup syntax has
   changed somewhat..)

   The networking code has been mainly organized and rewritten by Fred
   van Kempen, with drivers by Donald Becker.

 - serial line setup has been changed: linux 0.99 pl10 does *not* try to
   autodetect serial ports very agressively.  If you have other serial
   ports than the standard com1/com2, or nonstandard IRQ etc values,
   this means that it's less likely to work without any help.  The
   solution is not to recompile the kernel - you should get the
   "setserial" program available from in the directory
   pub/linux/sources/sbin/setserial-2.01.tar.z that allows you to
   dynamically configure your serial ports to suit your setup. 

   The main organizer behind the serial line changes is tytso (Theodore

 - Keyboard setup has changed: it is no longer hardcoded at compile
   time, but instead you can use the new "loadkeys" program to load in a
   new keyboard map on the fly.  The default keyboard map is the normal
   US keyboard (yes, I should have used the Finnish one by default, but
   after thinking of all the problems that would have resulted in I
   forgot about that idea).  The loadkeys code can be found in the
   "keytables.tar.z" archive, which also contains keymaps for most
   normal keyboard types.  To create a custom keyboard table is very
   easy - just take a 5 minute look at the existing map files (they
   resemble the ones used by xmodmap, so if you are familiar with

   The loadable keymaps were mostly implemented by Risto Kankkunen. 

There are a lot of other internal kernel changes, but they should be
mostly transparent, and noticeable only indirectly due to new features
or (hopefully) better/faster/whatever operation.  These include:

 - the SysV IPC patches are in by default: Krishna Balasubramanian.
   If you need these, you know what it's about (notably, dosemu 0.49
   wants them). 
 - inode handling is updated: inodes and files are now dynamically
   allocated within the kernel, and use a hash table for faster lookup
   (along with a NFU algorithm for the inode cache).  Steven Tweedie. 
 - Updated FPU emulation: mostly exception handling changes, making the
   emulator handle most exceptions the same way a 486 does.  The
   emulator is written by Bill Metzenthen. 
 - a few ext2-fs updates by Remy Card and Steven Tweedie.
 - support for the 'fsync()' function (Steven Tweedie)
 - various (minor) SCSI patches to catch some error conditions, add
   support for VLB adaptec controllers without DMA and so on (different
 - other changes - I forget.

In addition to patches sent in by others, I've naturally made my own
changes (often *to* the patches sent in by others :-).  Among other
things, the pl10 buffer cache code now also tries to share pages with
executables, resulting in better cacheing especially of binaries (giving
noticeable improvements in kernel recompilation speed on some machines). 
Also, I've changed a lot of low-level things around to help the iBCS2
project: this includes things like internal segment handling and the
signal stack (which now looks the same as on SysV i386 unixes).  All in
all, pl10 has a disturbing amount of new code, but will hopefully work
well despite (due to?) the number of changes. 

The new networking code in particular will change the network setup a
lot - it now looks more standard, but if you were used to the old way of
doing things..  On the other hand, most people actively using the
networking features have hopefully gotten warnings about this on the NET
channel for the last few weeks.  Also, the networking code still isn't
perfect: Fred is still working on it, but it seems to have reached a
reasonably stable platform on which it will be easier to build.  Look
out for the new-and-improved networking manual, hopefully out soon(?). 

Standard request: please try it all out, give it a real shakedown, and
send comments/bug-reports to the appropriate place (I'm always
appropriate, but you may want to send the report to the mailing lists
and/or the newsgroup as well).  I apologize for the lateness of the
release (forcing hlu to make interim gcc releases that relied on
nonstandard kernels etc), and the changes are somewhat bigger than I'd
prefer, so the more testerts that try it out, the faster we can try to
fix any possible problems.  The new kernel has gone through various
stages of ALPHA-diffs and some late ALPHA-pl10's, so there shouldn't be
any major surprises, but alpha releases tend not to get even close to
the coverage a real release gets... 


Newsgroups: comp.os.linux.announce
From: (Linus Torvalds)
Subject: ALPHA-pl11 available on nic: C++ support
Sender: (Usenet Administration)
Message-ID: <>
Approved: (Matt Welsh)
Date: Sun, 4 Jul 93 00:03:03 GMT
Reply-To: (Linus Torvalds)
Organization: University of Helsinki
Followup-To: comp.os.linux
Keywords: kernel, patch, 0.99.pl11, ALPHA
Lines: 40

For those brave souls that enjoy testing new releases, there is an
ALPHA-release of the 0.99.11 version available on in the
usual place (pub/OS/Linux/PEOPLE/Linus).  This has a few changes from
the last one, the most notable being that it is compiled using C++, as
there was some interest in that on the c.o.l newsgroup.  Note that very
few C++ features are actually used: the major changes were some minor
syntactic editing and the addition of 'extern "C"' to functions called
from assembly code.  The C++ changes are not the same as those done by
Tristan (although you should thank him for getting it rolling), as I
wanted to resolve the differences between C and C++ a bit differently. 

The C++ changes shouldn't actually change the way the kernel works, and
it's mainly used currently to do stricter pointer checking.  The name
mangling probably breaks the kmem based 'ps' once again..  Actual code
changes for this test-version:

 - I added the patches by Charles Hedrick for SLIP: this actually means
   that only CSLIP is available for now, so..  The net code is still not
   ready: Fred is working on it, so this is just an interim version when
   it comes to networking (there are some other minor patches in there as

 - The mm has been cleaned up since pl10, and mmap() actually works for
   most things, while malloc() will return NULL when the kernel thinks
   there isn't enough memory.  Similarly, the buffer cache code should
   now support different block sizes (although this is still in the
   "early alpha" stage.  Most of the changes by Eric Youngdale, with mm
   cleanups by me. 

 - A problem with the dynamic inode code (insufficient inode
   invalidation) that could result in fs corruption under some
   circumstances is fixed.

People who have written drivers etc should probably check out the
changes I did due to the stricter C++ pointer checking. 


Send submissions for comp.os.linux.announce to:

From: torvalds@cs.Helsinki.FI (Linus Torvalds)
Newsgroups: comp.os.linux.announce
Subject: [ANNOUNCE]: linux 0.99 patchlevel 11
Followup-To: comp.os.linux
Date: 18 Jul 1993 20:13:34 -0400
Organization: University of Helsinki, Department of Computer Science
Lines: 80
Sender: mdw@TC.Cornell.EDU
Approved: (Matt Welsh)
Message-ID: <22cove$bcv@theory.TC.Cornell.EDU>
Reply-To: torvalds@cs.Helsinki.FI (Linus Torvalds)
Summary: yet another kernel release
Keywords: kernel 0.99.11 now contains the newest linux kernel: this is 0.99
patchlevel 11. I've had a few problems with the "ls" and "dir" commands
on nic, so if this is true for others as well, you may not be able to
see the files, but they are available as:


		- RELEASE-0.99.11  --  release notes
		- README  --  same as RELEASE..
		- linux-0.99.11.tar.gz  --  full sources
		- linux-0.99.patch11.gz  --  patches against pl10

I don't know if I'll actually have the energy to update the RELEASE
files every time, but that's the idea (with README being a copy of the
latest one).  The README gives info on what changed, how to install it,
how to compile the kernel, and what to do with error dumps like "unable
to handler kernel paging request" and the like.  Maybe it results in
better bug-reports.  Maybe not. 

Pl11 uses (as you all know by now) C++, so you'll need to have g++
installed.  Also, there seems to be problems compiling the newer kernels
with gcc-2.3.3: there have been various reports that even pl10 (which
isn't C++) had problems which go away when compiled with gcc-2.4.3 or

As always, please send any bug-reports etc at least Cc'd to me: I'll be
wanting to know if things work or not.


---------- cut-down version of README ----------

	Linux kernel release 0.99 patchlevel 11

These are the release notes for linux version 0.99.11.  Read them
carefully, as they explain how to install the kernel, and what to do if
something goes wrong. 

CHANGES since 0.99 patchlevel 10 and earlier:

 - The keyboard is dynamically changeable (this is true of pl10 as
   well), and you need to get the "keytables.tar.z" archive to set the
   keyboard to suit your taste unless you want to live with the default
   US keymaps. 

   Use the "loadkeys map/" command to load the keyboard map: you
   can edit the maps to suit yourself if you can't find a suitable one. 
   The syntax of the keyboard maps should be obvious after looking at
   the examples. 

 - The memory manager has been cleaned up substantially, and mmap()
   works for MAP_PRIVATE.  MAP_SHARED is still not supported for
   anything else than /dev/mem, but even so it actually is usable for a
   lot of applications.  The shared library routines have been rewritten
   to use mmap() instead of the old hardcoded behaviour. 

 - The kernel is now compiled with C++ instead of plain C.  Very few
   actual C++ features are used, but even so C++ allows for more
   type-checking and type-safe linkage. 

 - The filesystem routines have been cleaned up for multiple block
   sizes.  None of the filesystems use it yet, but people are working on

 - named pipes and normal pipes should hopefully have the right select()
   semantics in the presense/absense of writers. 

 - QIC-02 tape driver by Hennus Bergman

 - selection patches in the default kernel

 - fixed a bug in the pty code which led to busy waiting in some
   circumstances instead of sleeping. 

 - Compressed SLIP support (Charles Hedrick). See net/inet/CONFIG

[ rest deleted  - see the README for more info ]

Send submissions for comp.os.linux.announce to:

From: (Linus Torvalds)
Newsgroups: comp.os.linux.announce
Subject: ALPHA-pl12 on
Followup-To: comp.os.linux
Date: 7 Aug 1993 15:07:29 -0400
Organization: University of Helsinki
Lines: 44
Sender: mdw@TC.Cornell.EDU
Approved: (Matt Welsh)
Message-ID: <240uhh$3r2@theory.TC.Cornell.EDU>
Reply-To: (Linus Torvalds)
Summary: don't use anything but the latest..
Keywords: alpha-kernel pl12

As people on the mailing-lists have already noticed, there is a new
ALPHA-pl12 kernel on in pub/OS/Linux/PEOPLE/Linus. Note
that although there have been various ALPHA-versions on nic for a couple
of days, the only one you should use is the newest version:

-rw-r--r--  1 torvalds  guests      163181 Aug  7 16:32 ALPHA-pl12.diff.gz
-rw-r--r--  1 torvalds  guests      843958 Aug  7 16:32 ALPHA-pl12.tar.gz

for the diff (relative to pl11) and the full sources respectively. 
Earlier alpha-pl12's had various problems with executable code and/or MS
busmice, which should now be fixed (that's why I usually tell people on
the mailing-lists first, as it's less embarrassing when only they know
about my failures). 

Note that 0.99.12 (even this ALPHA version) has changed the loadable
keymaps: if you use the 'loadkeys' binary for version pl11 you will mess
up your keytables and cause general havoc.  The new keymaps and tools
binaries (and source, naturally) are available in the file 'kbd.tar.gz',
so be sure to get that at the same time (loadable keymap code done by
Risto Kankkunen). 

Other changes in ALPHA-pl12:
 - new network drivers from Donald Becker
 - updated ext2fs code by Remy Card
 - executable loading changes by Eric Youngdale and me
 - updated FPU emulation by Bill Metzenthen
 - Sony CDU-31A CDROM driver by Corey Minyard
 - serial line update by Theodore Ts'o
 + various minor bugfixes

I'd also suggest reading the README that accompanies the full source
(and can be found as a separate file in the POEPLE/Linus directory on
nic).  I know earlier kernel versions have had more or less outdated
README's, but the newer kernels have actually had readme's that are
useful if you want to know how to bug-report etc. 

As usual, I'd like to get feedback on this release, so if you have
nothing better to do, building a new kernel and testing it may be just
the thing to get you through a rainy Sunday afternoon.. 


Send submissions for comp.os.linux.announce to:

From: (Linus Torvalds)
Newsgroups: comp.os.linux.announce
Subject: Linux 0.99.13 released
Keywords: kernel 0.99.13 release
Message-ID: <2825dc$>
Date: 25 Sep 93 19:15:56 GMT
Reply-To: (Linus Torvalds)
Followup-To: comp.os.linux.misc
Organization: None
Lines: 39
Approved: (Matt Welsh)
Originator: mdw@sunSITE

Linux 0.99pl13 has been released (for almost a week no, actually, sorry
for the delayed announcement), and can be found on in
pub/OS/Linux/PEOPLE/Linus and mirror sites.

Rough changes since pl12 (most of which have been there in various ALPHA

 - the bad memory management one-liner bug is naturally fixed. 
 - compiled with plain C by default instead of C++
 - ELF binary support (Eric Youngdale)
 - Quickport mouse support (and some changes to the PS/2 mouse driver)
   by Johan Myreen and co)
 - core file name change ("core" -> "core.xxxx" where xxxx is the name
   of the program that dumped code).  Idea from ???.  Also, core-files
   now correctly truncate any existing core file before being written. 
 - some mmap() fixes: better error returns, and handling of non-fixed
   maps for /dev/mem etc. 
 - fixes for rename/unlink/rmdir at mount-points.
 - packet mode fixes by Charles Hedrick.  Sadly, these are likely to
   break old telnet/rlogin binaries, but it had to be done in order to
   communicate correctly with the rest of the world. 
 - FPU emulator patches from Bill Metzenthen.  The fprem1 insn should be
   correct now (not that anybody seems to have seen the incorrect
 - a few fixes for SCSI (Drew and Eric)
 - signal.c changes to handle multiple segments (for Wine) correctly.
 - updated drivers from Donald Becker: 3c509 and AT1500 drivers, but
   also some other drivers have been edited, and some networking fixes. 

Note that I have gotten a lot of patches that simply didn't make it: I
think I have 5-10 reasonable patches that I simply never got around to
check very carefully but that have their own reasons for existence,
ranging from sysv signal handling to quotas.  They'll probably get there
eventually, but didn't make it into pl13. 


Send submissions for comp.os.linux.announce to:

From: (Linus Torvalds)
Newsgroups: comp.os.linux.announce
Subject: Linux 0.99 patchlevel 14
Date: 29 Nov 1993 14:21:10 +0200
Approved: (Lars Wirzenius)
Message-ID: <2dcpfm$b19@klaava.Helsinki.FI>

Linux 0.99 patchlevel 14 is available on in the usual place
(pub/OS/Linux/PEOPLE/Linus).  There are no diffs relative to pl13, as
too much has changed (the directory structure changed and the sound
driver was added).  Diffs relative to the last ALPHA version (13t) are
in the "pl13-ALPHA's" subdirectory along with the actual ALPHA versions. 

The changes to pl13t are rather minor: most of them are just more printf
format fixes to make gcc-2.5.x happy (Chip Salzenberg).  Only one very
minor bugfix which made pl13t not notice the WP bit on a 486. 

It would seem to be a good idea to use gcc-2.5.x to compile the kernel,
as that seems to fix at least one known bug in earlier gcc versions.  I
hope that pl14 will be even more stable than pl13 has turned out to be,
and especially the networking code seems to have become much more
dependable.  Thanks Alan & co. 

Changes to the last official release (p13) are too numerous to mention
(or even to remember), but they include NTP support, updated SCSI and
networking drivers, >16MB swap area handling, added sound support,
read-only HPFS filesystem, memory management cleanups (especially
cleaned up mmap() some more).  Also, pl14 contains updated ext2fs code,
along with minor fixes (especially concerning the time values) in other
filesystems, and fixed unnamed/named pipe select() semantics. 

The reorganizations include moving all device drivers to a subdirectory
of their own (linux/drivers), centralizing the major number handling
(< linux/major.h> etc...  Possibly cleaner and/or easier to keep track of
different drivers.  Finally, the first 4kB of physical memory is no
longer cleared on bootup: tytso reports that this feature now enables
some portables to use the power-saving features under linux.  This could
also be useful for the DOS emulator to check where the interrupt
pointers pointed at startup. 


Mail submissions for comp.os.linux.announce to:
PLEASE remember Keywords: and a short description of the software.

			  SCO's Case Against IBM

November 12, 2003 - Jed Boal from Eyewitness News KSL 5 TV provides an
overview on SCO's case against IBM. Darl McBride, SCO's president and CEO,
talks about the lawsuit's impact and attacks. Jason Holt, student and 
Linux user, talks about the benefits of code availability and the merits 
of the SCO vs IBM lawsuit. See SCO vs IBM.

Note: The materials and information included in these Web pages are not to
be used for any other purpose other than private study, research, review
or criticism.