Newsgroups: comp.os.linux.announce,comp.os.linux
From: (Linus Torvalds)
Subject: [ANNOUNCE]: linux version 0.99
Message-ID: <>
Originator: mdw@db.TC.Cornell.EDU
Keywords: kernel linux 0.99
Organization: University of Helsinki
Date: Sun, 13 Dec 1992 19:38:12 GMT
Approved: (Matt Welsh)
Lines: 65
Status: O

Linux version 0.99 is now available at, in the directory
pub/OS/Linux/PEOPLE/Linus as both full source and patches against
0.98.6.  It will probably show up on the other major sites soon. 

NOTE!! The context diffs aren't very good.  The makefiles have changed,
and due to the new setup they changed radically enough that I couldn't
edit away the dependancy changes like I usually do.  This means that the
diffs are unlikely to patch cleanly, and I'd suggest people get the full
source unless you feel comfortable about patching by hand.  Also, if you
get the full source, I'd suggest you remove (or move elsewhere) all of
the old kernel to make sure you don't have any dead files from older
versions lying around. 

0.99 has no major new features: the NFS client code is now in the
standard distribution, and the kernel configuration has changed, but
most of the rest of the changes are fixes - especially the tcp code
should now be pretty stable (knock wood). 


 - NFS is in. As are some stubs for the soud drivers, although it's only
   stubs right now.
 - various fixes around the place: the serial problems are hopefully
   gone, and there are patches to both TCP/IP and SCSI to make them more
 - Minor fixes: the keyboard buglet introduced in 0.98pl6 should be
   gone, and some other bugs are also corrected.  The optimized
   read-ahead code in the filesystems (and the raw device read code) was
   too complicated and seemed to have problems with bad blocks, so I
   rewrote it, and it should hopefully work correctly now (this may have
   been the reason "mkfs -c" didn't work in all cases).  Thanks for some
   good bug-reports I've gotten: I've tried to correct all the problems
   I got reports on. 
 - The kernel configuration has been re-thought: I decided to take
   advantage of the possibilities offered by GNU make etc.  This means
   that you no longer can compile the kernel using any other make, but
   there probably aren't many (if any) people doing that anyway.  This
   way I got rid of the extremely ugly SCSI setup, so it was probably
   worth it. 

To configure the kernel for your setup, do a

	make config

and answer the yes/no questions. After that, do a

	make dep

to make the dependencies match your setup.  After that you should still
go edit the top-level Makefile for some of the configuration information
as before, but the remaining config things are pretty simple.  Then you
can make the kernel with a simple "make Image". 

The new configuration utility (essentially a stupid shell script coupled
with some smarts in the Makefiles) tries to minimize compilations: if
you disable the SCSI code the scsi drivers won't even be compiled, much
less linked in.  This should be a win on slower machines.

NOTE!!! Use LILO-0.7 to load the 0.98pl5 and newer kernels: any older
version of lilo is liable to result in weird problems. 


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

Newsgroups: comp.os.linux.announce
From: torvalds@klaava.Helsinki.FI (Linus Torvalds)
Subject: Re: [ANNOUNCE]: linux version 0.99
Message-ID: <>
Originator: mdw@db.TC.Cornell.EDU
Keywords: kernel linux 0.99
Organization: University of Helsinki
Date: Sun, 13 Dec 1992 23:49:47 GMT
Approved: (Matt Welsh)
Lines: 50
Status: O

In article <> (Linus Torvalds) writes:
>Linux version 0.99 is now available at, in the directory
>pub/OS/Linux/PEOPLE/Linus as both full source and patches against
>0.98.6.  It will probably show up on the other major sites soon. 
[ rest deleted ]

Ok, there seem to be a couple of problems with the configuration stuff:
they are minor, but they can get a new user pretty confused. Here is how
to fix them:

 1) fs/isofs/inode.c tells you that it needs CDROM support when you
    pre-process it during running "make dep". 

    this one has two different solutions:

    - remove the '#ifndef CONFIG_BLK_DEV_SR ...  #error ...  #endif'
      test in fs/isofs/inode.c
    - use "make config" to include all the SCSI support: you can remove
      it later by doing another "make config" after you have your
      dependencies up-to-date. It's a problem only for "make dep", as
      a real make won't even enter the isofs subdirectory unless you
      have asked for the isofs filesystem (and then you do indeed need
      the CDROM support, so the error is valid)

 2) linking the net/ subdirectory gives a "tcp/tcpip.a: no such file or
    directory" if you don't include the networking stuff in the config.

    simple solutions:

    - do a "ar cvs net/tcp/tcpip.a" to create an empty archive to get
      the linker happy (alternatively you can once more reconfigure with
      the tcp/ip support to get the archive created, and then configure
      it out again and re-making the kernel. That's essentially how I
      never saw this error when I tested the configs out..)
    - edit the net/Makefile and just dike out the 'tcp/tcpip.a' (or put
      it behind a "ifdef" like the NET_SUBDIRECTORY..)

Also, if you get the "unable to make cdefs.h" or similar, it probably
means you haven't done a "make dep".  Alternatively your installation
has some problems. 

Sorry for the silly problems with the config stuff and hope that's the
biggest problem with this release,


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

Newsgroups: comp.os.linux.announce,comp.os.linux
From: (Linus Torvalds)
Subject: ANNOUNCE: linux 0.99 patchlevel 1
Message-ID: <1992Dec21.233646.16236@klaava.Helsinki.FI>
Followup-To: comp.os.linux
Keywords: kernel, linux, 0.99 patchlevel 1
Sender: wirzeniu@klaava.Helsinki.FI (Lars Wirzenius)
Organization: University of Helsinki
Date: Mon, 21 Dec 1992 23:36:46 GMT
Approved: (Lars Wirzenius)
Lines: 37
Status: R

Linux-0.99.1 is now available on, and will probably show up
on the other linux ftp sites within days, unless everybody has gone off
for the holidays.  The directory is /pub/OS/Linux/PEOPLE/Linus, and it's
available both as a patch against 0.99 and as complete source.  The
patch is pretty clean, although most people probably have changed 0.99
slightly to get rid of the setup and/or inode.c problems, so if you
have, you'll have to revert or patch by hand. 

Patch 1 addresses the following problems:
 - configuration. Hope there are no silly problems left..
 - inode.c: initialization changes (the missing NULL and some other
   minor fixes). 
 - some SCSI tape driver patches (Kai M{kisara)
 - tcp/ip patches (Ross Biro, some code by me)
 - keyboard patches (mainly changed initialization - hope the keyboard
   lockups are gone). 
 - completed /proc-fs: it should now contain all info needed by 'ps'
   (Micheal K Johnson). 
 - various minor fixes (the minix-fs link overflow checking etc)

Patch1 also contains support for extended VC switching - this is for the
upcoming X11 that understands VC's.  One result of this is that console
redirection now redirects *only* messages actually sent to /dev/console
(aka /dev/tty0), not just to any foreground VC.  Wait for Xfree-1.2 to
be able to switch VC's while under X (yes, including several X-sessions
active at the same time..).

I hope there are still people out there that aren't too busy stuffing
themself with turkey to try out a new kernel release.  There is just
over a week left of this year, and I need feedback in order to be able
to release 1.0.


PS.  Thanks to everybody who has sent me Christmas/New Year/Birthday
cards.  Some contained money, some didn't, and I enjoyed them all. 

From: (Linus Torvalds)
Newsgroups: comp.os.linux.announce,comp.os.linux
Subject: linux-0.99 patchlevel 2
Keywords: linux kernel, patch, 0.99.2, minor fixes
Message-ID: <1993Jan1.223837.28553@klaava.Helsinki.FI>
Date: 1 Jan 93 22:38:37 GMT
Sender: wirzeniu@klaava.Helsinki.FI (Lars Wirzenius)
Followup-To: comp.os.linux
Organization: University of Helsinki
Lines: 29
Approved: (Lars Wirzenius)
Status: R

Yes, as you've probably noticed, it's now 1993 and I still haven't
released 1.0.  Sorry about that, and I have only another patchlevel to
offer.  The new kernel should mainly fix some of the keyboard problems
people have experienced, but does contain some other minor fixes. 

Linux 0.99.2 is available now at pub/OS/Linux/PEOPLE/Linus
as both sources and diffs against 0.99.1 the diffs are essentially the
same as the second alpha-diffs I released for limited testing, with only
minor fixes to fs/exec.c and fs/open.c. 

Please try out 0.99.2: the more feedback (hopefully positive) I get on
it, the faster 1.0 will be out. 

Changes from pl1 are mainly:
 - pretty much rewritten low-level keyboard handling IO - this time
   actually trying to do it by the book.  It now handles resend requests
   from the keyboard etc. 
 - you can run executables from filesystems without bmap support.  This
   mainly means NFS and msdos.  Note that while it's possible, it's
   slower and less memory-efficient than using a "normal" linux
   filesystem, and should generally be avoided. 
 - /proc filesystem changes: /proc/kmsg can be used to log the kernel
   messages under X11 (instead of using the older system call to do the
   same), and there are changes to the statistics routines (WCHAN). 

+ various minor fixes (non-existent devices are handled better, some
changes to socket bind behaviour etc). 


Newsgroups: comp.os.linux.announce,comp.os.linux
From: (Linus Torvalds)
Subject: ANNOUNCE: linux-0.99 patchlevel 3
Message-ID: <1993Jan13.220545.6910@klaava.Helsinki.FI>
Followup-To: comp.os.linux
Keywords: kernel, new patchlevel, minor bugfixes
Sender: wirzeniu@klaava.Helsinki.FI (Lars Wirzenius)
Organization: University of Helsinki
Date: Wed, 13 Jan 1993 22:05:45 GMT
Approved: (Lars Wirzenius)
Lines: 38
Status: R

Still no 1.0 - I have had a couple of reports of problems, so I'll make
yet another 0.99 release.  The diffs (against 0.99.2) and complete
source can be found at pub/OS/Linux/PEOPLE/Linus as usual,
and will probably show up at the other sites pretty soon. 

0.99.3 contains no real new features, but the diffs are pretty big
anyway (100kB+ compressed): various things have moved around a bit and
there are a lot of minor changes.  The changes include (but are not
limited to):

 - the math emulator code now also understands the unofficial codes (in
   case somebody followed the ML math emulator thread).  I'd be
   interested to hear whether ML now works with the emulator. 
 - various SCSI driver changes
 - some re-organization of the tty open/close code to remove a few race
 - interrupt handling rewrites (two-level interrupt code cleanups)
 - the serial drivers are tytso's alpha-drivers: they aren't quite
   completed, but as they need the interrupt handling patches to get
   ready, this is probably the least traumatic way of doing it. 
 - some more minor keyboard driver changes (mostly taking advantage of
   the two-level interrupts)

+ a lot of other minor changes.  I once more hope people will try it
out, and report any problems or successes to me. 

Known problems:
 - there seems to be something weird going on in the ST-0x driver with
   some scsi disks. 
 - tcp/ip is reportedly still not quite stable, and I can't even test it

NOTE! The DMA functions have changed for the high DMA channels - all DMA
functions now take their arguments as the number of bytes instead of the
old way of using bytes for ch 0-3 and words for ch 5-7.  This might lead
to problems with the SoundBlaster driver, which may need editing. 


From: (Linus Torvalds)
Newsgroups: comp.os.linux.announce
Subject: ANNOUNCE: linux version 0.99 patchlevel 4
Keywords: Linux kernel 0.99pl4 bugfixes
Message-ID: <1993Jan21.211230.3774@klaava.Helsinki.FI>
Date: 21 Jan 93 21:12:30 GMT
Sender: wirzeniu@klaava.Helsinki.FI (Lars Wirzenius)
Followup-To: comp.os.linux
Organization: University of Helsinki
Lines: 40
Approved: (Lars Wirzenius)

As you can see, I'm back to the old "once or twice a week" kernel
version cycle.  The reason is the existence of some silly bugs in pl3
that don't always show up, but can lock up your machine or result in
other weird errors (parse errors in gcc etc).  It depends on your
hardware setup - specifically what kinds of interrupts your motherboard
sends, so I (and many others) actually never saw it. 

0.99pl4 is a small diff (1300 lines of diff - and it sounds more than it
actually is), and contains only bug-fixes.  The changes are:

 - include/asm/irq.h: fix the irq handling bug by adding a missing
   initialization of a segment register. 
 - console redirection bug fixed
 - Makefile fixes
 - support for more than 64 tasks - it was there before, but the GDT
   overflowed with NR_TASKS more than about 120.. 
 - ptrace() - the bogus ESRCH bug is corrected (fix by Branko Lankester?
   Hope I haven't messed up the attributions *again*). 
 - flock() support by adding two new ioctl() values - hlu.
 - seagate.c patches (Eric Youngdale) to fix the problem with some disks
   off the ST-0x controller. 
 - tcp/ip volatile fixes (sorry - lost the attribution)
 - remount patches by almesber

I'm getting happier about the kernel again - but I have got several
comments on the line "I'll wait for 1.0", so I'm starting to think I
won't get 0.99 debugged due to lack of tester interest.  I guess I
should have thrown out 1.0 totally unexpectedly instead of warning about
it.  I can only repeat my plea for people trying it out: if you don't
try it out (or don't report problems to me), you may find that 1.0 won't
work for you...  Also, if you find that pl4 doesn't fix a bug that you
already reported, please take the time to report it again by mailing me. 
Otherwise I'll probably assume that I found them all. 

And, in case you can't remember, pl4 is naturally available both as full
source and diffs against pl3 at pub/OS/Linux/PEOPLE/Linus,
and will also probably show up at the other major sites within a day or


Newsgroups: comp.os.linux.announce,comp.os.linux
From: (Linus Torvalds)
Subject: ANNOUNCE: linux 0.99 patchelevel 5 available
Message-ID: <>
Originator: mdw@db.TC.Cornell.EDU
Keywords: Linux 0.99.5 patch kernel
Organization: University of Helsinki
Date: Tue, 9 Feb 1993 22:03:01 GMT
Approved: (Matt Welsh)
Lines: 39

	"He's done it yet again - doesn't he ever rest?"
			- anonymous linux kernel hacker

Only complete newbies don't know what this is all about, but I'd better
tell you anyway: patchlevel 5 of the 0.99 kernel is now available on (pub/OS/Linux/PEOPLE/Linus) as both context diffs against
pl4 and complete source code.  I'm not even going to speculate on 1.0
right now. 

The pl5 diffs are about 90kB compressed: the major changes are to the
tcp/ip code and the serial driver, while there are various minor fixes
strewn around the system:

 - serial lines/tty changes (tytso & Fred v Kempen)
 - NFS bugfixes (Rick Sladkey)
 - tcp/ip (Ross Biro)
 - coprocessor handling changes (me)
 - harddisk driver error handling (Mika Liljeberg)
 - various minor patches (me and others)

Serial lines now implement non-blocking opens correctly and support
dial-out lines (same minor, major==5).  I changed the default startup
mode to be CLOCAL so that people won't get confused by the modem line
code when not using dial-in. 

Another interesting change is the 387 error-coupling tests at bootup:
the code to check if the intel-recommended exception 16 error reporting
is present is "non-obvious".  If you have had problems with coprocessor
error handling, or have a non-intel coprocessor, I'd suggest you test
this out: I'd like to hear about problems/successes. 


PS.  If you tested out the latest ALPHA-diffs (the ones that already
changed the kernel version to pl5), the changes to the final pl5 were
only cosmetic. 

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

Newsgroups: comp.os.linux.announce,comp.os.linux
From: (Linus Torvalds)
Subject: Linux 0.99 patchlevel 7 available..
Message-ID: <>
Originator: mdw@db.TC.Cornell.EDU
Keywords: Linux kernel 0.99.7
Organization: University of Helsinki
Date: Sat, 13 Mar 1993 19:37:57 GMT
Approved: (Matt Welsh)
Lines: 62

It has been two weeks since the last release, so it's high time you
should once more enjoy the pleasures of patching up your kernel to a
higher version number if you are into those kinds of perversions.  Linux
0.99pl7 is available as both full source and diffs against pl6 on pub/OS/Linux/PEOPLE/Linus, and it will probably show up on
the other major sites within days. 

As of pl7, I'm trying out a new format: both the full distribution and
the diffs are now compressed with gzip as it is now available at most
machines.  Also, the diffs are no longer context diffs: they use the
smaller unified diff format.  At least the stock SunOS 'patch' binary
seems not to understand them at all, but GNU patch has no problems, and
unified diffs are a bit smaller (not that it matters much after gzip has
done its deed on them). 

As to the changes in pl7: they are many and varied, and hopefully all to
the better (-"Dream on Linus" -"Shut up").  Short list follows, hope I
haven't forgotten anything major. 

 - ext2fs is in: note that this is version 0.2c and that if you are
   currently using an older version there are some changes.  Small
   filesystems (< 256MB) should reportedly be automatically converted,
   bigger filesystems need some assistance. Ext2fs written by Remy Card.
 - xiafs is also in: again, the final version uses a slightly different
   layout to support exact file block counts, so if you use the xiafs,
   you should make sure you have the latest fs-tools.  Xiafs written by
   Frank Xia. 
 - updated Ultrastor SCSI driver with scatter/gather by Scott Taylor. 
   It should be much faster, as well as support the Ultrastor-34F. 
 - major changes in the memory manager.  Yours truly got carried away,
   and finally cleaned up the mm layer due to pmacdona wanting mmap() on
   /dev/zero.  This means that the IPC patches won't go in, and need
   updating.  Krishna?
 - more big changes: I rewrote most of the VFS filename-handling.
   Filenames are copied into kernel space before being used, which
   cleaned things up somewhat, as well as simplifying some race-
   condition handling.  As a result, I was also able to easily expand
   the minix fs to cover the "linux" fs that some people have been using
   (same layout, but with 30-character names).
 - updated the printer driver: Nigel Gamble.  It is now able to use
   interrupts, although the default behaviour is still to poll. 
 - serial driver updates by tytso (but no SLIP yet)
 - various minor patches for POSIX compliace: Bruce Evans, Rick Sladkey
   and me. 
 - other minor patches all over the place: scsi, tcpip etc.

All in all, the patches are almost half a megabyte even as unified
diffs: getting the full sources might be easier than patching it all up.

As always, some of the patches are actually tested by me, some aren't
(and just because I wrote some of them doesn't mean I actually *tested*
them: I have no idea if mmap() works on /dev/zero, although it should). 
I have neither a printer nor an Ultrastor controller, and I haven't got
the diskspace to test out the new filesystems, so I can only hope they
work "as advertized".  If you have problems, I want to hear about them,
so keep the reports coming, and try to pinpoint the problem as well as
you can ("when I do *this* it happens every time.."). 


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

From: (Linus Torvalds)
Newsgroups: comp.os.linux.announce
Subject: ANNOUNCE: linux 0.99 patchlevel 8 available
Date: 9 Apr 1993 14:45:07 GMT
Organization: University of Helsinki
Lines: 36
Approved: (Matt Welsh)
Message-ID: <1q425j$ohd@fitz.TC.Cornell.EDU>
Keywords: Linux kernel patchlevel release 0.99.pl8
Originator: mdw@db.TC.Cornell.EDU

Yet another kernel release is now available on in the usual
place (pub/OS/Linux/PEOPLE/Linus for those of you that have already
forgotten), and will probably show up on the other ftp-sites within a
day or two.  There are two new files:

  linux-0.99.8.tar.z - the full gzipped and tarred source-tree of the
	linux kernel.

  linux-0.99.patch8.z - unified diffs against the last official release

There is no SLIP or new networking routines in this kernel despite the
rumors that have been flying around - the main changes to 0.99.7 are
(some of them were in 0.99pl7A as well):

 - the signal handling code has been extensively reworked, and should be
   POSIX as well as clean.
 - dosfs is upgraded to version 12 (Werner Almesberger)
 - xiafs is upgraded to the latest version (Qi Xia)
 - ext2fs is upgraded to the latest version (Remy Card/Stephen Tweedie)
 - FPU-emulation patches for v86 mode and precision rounding (Bill
 - SCSI patches by various people (Eric Youngdale & co)
 - XT harddisk support (Pat Mackinlay)
 - new trial code to try to handle 387 lockups on some systems more
 - keyboard, lp and serial driver fixes
 - various minor changes (mounting root read-only, bootup messages
   cleaned up etc)

As always, comments/bugs etc are encouraged,


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

Newsgroups: comp.os.linux.announce
From: (Linus Torvalds)
Subject: Linux 0.99 patchlevel 9
Message-ID: <1993Apr24.030454.29014@klaava.Helsinki.FI>
Followup-To: comp.os.linux
Keywords: kernel
Sender: wirzeniu@klaava.Helsinki.FI (Lars Wirzenius)
Organization: University of Helsinki
Date: Sat, 24 Apr 1993 03:04:54 GMT
Approved: (Lars Wirzenius)
Lines: 22

The latest kernel release is 0.99.9, and can be found on
pub/OS/Linux/PEOPLE/Linus, both as patches relative to pl8 and as full
sources.  The only major new feature is that the ST-0x driver has
finally been updated to the scatter-gather code: ST-0x users should with
luck get about 5 times the performance on disk-operations..  Seagate
code written by Drew Eckhardt. 

0.99.9 also fixes:
 - the FPU-emulator should now handle all rounding-modes correctly, and
   pass all the paranoia package tests.  Patches by Bill Metzenthen. 
 - bootup enhancements by Chrisoph Niemann (but the SVGA mode numbers
   have changed, so you may have to edit your lilo configuration file
   and/or the main Makefile to get the mode you normally want)
 - ext2fs updated to the very latest release.  Code by Remy Card and
   Stephen Tweedie. 
 - various minor patches, some of them cosmetic, some of them fixes to
   smaller bugs..  Thanks to everybody who sent them in (even though not
   all made it)

It might be a good idea to test it all out,


			  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.