login
Header Space

 
 

Linux: The 0.02 and 0.03 Releases

August 2, 2007 - 10:22am
Submitted by Jeremy on August 2, 2007 - 10:22am.
Linux news

"Do you pine for the nice days of minix-1.1, when men were men and wrote their own device drivers?" began the October 5th, 1991 announcement for Linux kernel version 0.02 on the comp.os.minix newsgroup. In the release notes, Linus Torvalds continued, "as I mentioned a month(?) ago, I'm working on a free version of a minix-lookalike for AT-386 computers. It has finally reached the stage where it's even usable (though may not be depending on what you want), and I am willing to put out the sources for wider distribution." 19 days after the 0.01 kernel was released, the 0.02 kernel debuted with the new-found ability to run a handful of utilities including bash, gcc, gnu-make, gnu-sed and compress. There was no floppy driver yet, the hard disk driver was hard coded to AT-compatible drives, and due to various buffer-cache problems it was not possible to compile large programs like gcc from a running 0.02 kernel. Linus noted:

"I can (well, almost) hear you asking yourselves 'why?'. Hurd will be out in a year (or two, or next month, who knows), and I've already got minix. This is a program for hackers by a hacker. I've enjouyed doing it, and somebody might enjoy looking at it and even modifying it for their own needs. It is still small enough to understand, use and modify, and I'm looking forward to any comments you might have."

The 0.02 release needed to be compiled on minix-386 with gcc-1.40, "you need minix to set it up if you want to run it, so it is not yet a standalone system for those of you without minix. I'm working on it. You also need to be something of a hacker to set it up (?), so for those hoping for an alternative to minix-386, please ignore me. It is currently meant for hackers interested in operating systems and 386's with access to minix." It only worked on AT-compatible hard drives (with a note that "IDE is fine"), and with an EGA/VGA monitor.

Unfortunately, it's not possible to review the source changes that were made between the 0.01 kernel and the 0.02 kernel, as no known copy of the 0.02 source code exists. Linus recently explained that what probably happened is that when the 0.03 version came out he simply deleted the outdated 0.02 version, "hey, it wasn't historically interesting at the time!"

Evidently the 0.03 kernel met the same fate when 0.10 was released a little over a month later, as again no known copy of the 0.03 source code exists. Though the exact release date of the 0.03 kernel is unknown, a posting dated October 31st, 1991 on comp.os.minix notes that 0.03 had recently been released:

"Linux is a full kernel that has so far worked on a number (5-10?) of at-386 (and one 486 as far as I know). It supports GNU cc (gcc), bash and some other free stuff. It is currently more of a hackers kernel (and minix-386 is needed, but that will change with this weeks release), and the current version number is 0.03 (next is 0.10 I think)."

Linus then listed some features of the 0.03 kernel:

  • "it's free, full source, and I try to correct bugs you find."
  • "it's a bit faster than minix, I think."
  • "uses paging for memory management (not to disk yet)"
  • "multithreaded fs (but then you can get patches to minix that do similar stuff)"
  • "mostly full termios and vt100-console."
  • "most things easy to port (easier than to minix)."

He went on to list some "bad points":

  • "ONLY 386/486"
  • "early versions: there might be lots of bugs, and you might need to port/hack things to work."
  • "minix is recommended even for the upcoming version that doesn't absolutely need it."
  • "currently only VGA (EGA?) support, limited keyboard drivers (US and Finnish) etc"

By this point, Linus was already touting Linux as having better performance than Minix, "except the floppy-disk driver which really sucks :-)". He cautioned that Linux needed a lot of memory, "word of warning: it needs 4MB to be usable." In a 1992 interview, he noted that the 0.03 kernel "actually worked pretty well", going on to add, "the buffer cache mostly worked, as did most other things."

As Linux development continued between the 0.03 and 0.10 releases, Linux gained the ability to be useful without Minix. However, at this early point of Linux development Linus was still operating under the assumption that it would be a short-lived project, ultimately replaced by the GNU Hurd:

"Happily this isn't true any more (needing minix, that is). Linux /can/ be used without minix, but it's not a tool for a user yet. Hacker-material (ie I've got gcc, uemacs etc, but no real utils). Wait for Hurd if you want something real. It's fun hacking it, though (but I'm biased)."

While wrong about Linux being a short-lived project, Linus was certainly right about it being fun to hack on, as evidenced by the ever growing community of Linux kernel hackers that grew around Linux. A community that continues to grow and evolve to this day.


Linux 0.02 release announcement:

From: Linus Benedict Torvalds) [email blocked]
Subject: Free minix-like kernel sources for 386-AT
Newsgroups: comp.os.minix
Date: 5 Oct 91 05:41:06 GMT

Do you pine for the nice days of minix-1.1, when men were men and wrote
their own device drivers? Are you without a nice project and just dying
to cut your teeth on a OS you can try to modify for your needs? Are you
finding it frustrating when everything works on minix? No more all-
nighters to get a nifty program working? Then this post might be just
for you :-)

As I mentioned a month(?) ago, I'm working on a free version of a
minix-lookalike for AT-386 computers.  It has finally reached the stage
where it's even usable (though may not be depending on what you want),
and I am willing to put out the sources for wider distribution.  It is
just version 0.02 (+1 (very small) patch already), but I've successfully
run bash/gcc/gnu-make/gnu-sed/compress etc under it.

Sources for this pet project of mine can be found at nic.funet.fi
(128.214.6.100) in the directory /pub/OS/Linux.  The directory also
contains some README-file and a couple of binaries to work under linux
(bash, update and gcc, what more can you ask for :-).  Full kernel
source is provided, as no minix code has been used.  Library sources are
only partially free, so that cannot be distributed currently.  The
system is able to compile "as-is" and has been known to work.  Heh.
Sources to the binaries (bash and gcc) can be found at the same place in
/pub/gnu.

ALERT! WARNING! NOTE! These sources still need minix-386 to be compiled
(and gcc-1.40, possibly 1.37.1, haven't tested), and you need minix to
set it up if you want to run it, so it is not yet a standalone system
for those of you without minix. I'm working on it. You also need to be
something of a hacker to set it up (?), so for those hoping for an
alternative to minix-386, please ignore me. It is currently meant for
hackers interested in operating systems and 386's with access to minix.

The system needs an AT-compatible harddisk (IDE is fine) and EGA/VGA. If
you are still interested, please ftp the README/RELNOTES, and/or mail me
for additional info.

I can (well, almost) hear you asking yourselves "why?".  Hurd will be
out in a year (or two, or next month, who knows), and I've already got
minix.  This is a program for hackers by a hacker.  I've enjouyed doing
it, and somebody might enjoy looking at it and even modifying it for
their own needs.  It is still small enough to understand, use and
modify, and I'm looking forward to any comments you might have.

I'm also interested in hearing from anybody who has written any of the
utilities/library functions for minix. If your efforts are freely
distributable (under copyright or even public domain), I'd like to hear
from you, so I can add them to the system. I'm using Earl Chews estdio
right now (thanks for a nice and working system Earl), and similar works
will be very wellcome. Your (C)'s will of course be left intact. Drop me
a line if you are willing to let me use your code.

                Linus

PS. to PHIL NELSON! I'm unable to get through to you, and keep getting
"forward error - strawberry unknown domain" or something.


Comments about Linux 0.03:

From: Linus Benedict Torvalds [email blocked]
Subject: Re: Free minix-like kernel sources for 386-AT
Newsgroups: comp.os.minix
Date: 31 Oct 91 10:12:52 GMT

In article [email blocked] writes:
>(C. G. Albone) writes:
>>Hello all..
>>        I missed the original posting, so could someone please tell me
>>how I may obtain the sources.
>  And me too !!!!!!!!!!!!!!
>  Also, are them available via e-mail (mail server or smth), as I'm
>in the former Soviet Union and can't do any FTP.

Ok, as I've gotten quite a few questions, I guess I'd better follow up
again.

Linux is currently ONLY available via ftp from nic.funet.fi, directory
/pub/OS/Linux. As the sources change rather rapidly (next release due
out this weekend after I have tested some more), it is also currently
impractical to make them available from other places. There is a
mail-server possibility fron nic, but I think it's still in testing (you
could try mailing "mailser... at nic.funet.fi" with "help" in the body,
but I don't know if it will work).

Linux is a full kernel that has so far worked on a number (5-10?) of
at-386 (and one 486 as far as I know). It supports GNU cc (gcc), bash
and some other free stuff. It is currently more of a hackers kernel (and
minix-386 is needed, but that will change with this weeks release), and
the current version number is 0.03 (next is 0.10 I think).

Good things about linux:

- it's free, full source, and I try to correct bugs you find.
- it's a bit faster than minix, I think.
- uses paging for memory management (not to disk yet)
- multithreaded fs (but then you can get patches to minix that do
similar stuff)
- mostly full termios and vt100-console.
- most things easy to port (easier than to minix).

Bad points:

- ONLY 386/486
- early versions: there might be lots of bugs, and you might need to
port/hack things to work.
- minix is recommended even for the upcoming version that doesn't
absolutely need it.
- currently only VGA (EGA?) support, limited keyboard drivers (US and
Finnish) etc

You can mail me for more info. "finger torvalds at kruuna.helsinki.fi"
might tell you something too.

                Linus [email blocked] 


Linus plugs Linux:


From: Linus Benedict Torvalds [email blocked]
Subject: Re: Beginner asking questions.
Newsgroups: comp.os.minix
Date: 21 Oct 91 18:49:40 GMT

In article Don Capps writes:

>    I am new to minix. I am interesting in knowing if a version
>    exists that has pageing and swapping ( For those PC`s with
>    an MMU) ?

>                                    Thanks ahead of time.
>                                    ca...[email blocked]

Ok, it is obviously time for a small plug once more :-)

There is an experimental FREE minix-like thing which supports paging
(not yet to disk, but using the MMU to share pages after a fork etc
etc), written only for 386 AT's.  It currently isn't very practical,
even though a number of people have a running system.  It is a bit
faster than minix (except the floppy-disk driver which really sucks :-).

This is a kernel for hackers, so if you aren't one, you'd better wait
for a later release.  If anybody wants to look at the sources, there is
a version available from 'nic.funet.fi' by anonymous FTP.  There are
also some binaries for the kernel there (gcc, tar, make, uemacs and
fileutils).  All this can be found in /pub/OS/Linux.  This version
currently needs minix-386 to compile (but in a week I'll have a bootable
version there, I think).

Anybody interested can finger me, or mail me for info, or just ftp some
of the text-files from nic. Word of warning: it needs 4MB to be usable.

                Linus [email blocked]


Linus comments on GNU Hurd:

From: Linus Benedict Torvalds [email blocked]
Subject: Re: Wolf Hugs and stuff
Newsgroups: alt.folklore.computers
Date: 10 Nov 91 21:45:04 GMT

> Adam Justin Thornton writes:
>> I'm frustrated because I'm too cheap to buy a decent OS for my 386 and GNU OS
>> isn't out yet and I have to run this silly little loader called MSDOS.
>
>Well, check out comp.os.minix. As the Arch-OS/2 fiend Peter Busser has informed
>me, there's a 386 kernel called linux under development in Finland. You need
>MINIX to bring it up, though.

Happily this isn't true any more (needing minix, that is).  Linux /can/
be used without minix, but it's not a tool for a user yet.  Hacker-
material (ie I've got gcc, uemacs etc, but no real utils).  Wait for
Hurd if you want something real.  It's fun hacking it, though (but I'm
biased).

                Linus "finger me for more info" Torvalds
                [email blocked]

Hurd

August 2, 2007 - 11:37am
Anonymous (not verified)

It's always funny to see these old mails where everyone thinks Hurd will be out in a year and it's still not, something like 16 years later. I find it even funnier that RMS considers the kernel to be only "a small part" of the GNU system and seems to think that Linux is insignificant compared to all the GNU tools. He even seems to be whining about how Linus "replaced" Hurd with Linux when they almost had the full GNU system done. Well, if he had released a working Hurd kernel in time, maybe everyone would be using it now. But he didn't. I guess writing a kernel wasn't so easy after all...

Vapor Hurd

August 2, 2007 - 1:37pm
Anonymous (not verified)

It is a surprising fact of free software history that an outfit like FSF that has pumped out such outstanding software (GCC, GDB, bash, ...) so regularly cocked up the development Hurd so badly.

That comment isn't really

August 2, 2007 - 11:55pm
Anonymous (not verified)

That comment isn't really fair, is it? Given that linux was out, hurd was no longer a priority for the FSF. Instead, effort went into GCC and other tools. Had linux not arrived, hurd would have still been a major priority, and it's arguable that many today's linux developers would have been working on hurd instead.

The mistake (if you can call it that) that the FSF made was to not see the benefit in coming out with a quick-and-dirty hurd that served the immediate needs of hackers. Linux filled that need quickly, and hurd became a distant memory.

On the other hand, hurd was meant to be a portable, micro-kernalled, properly designed OS from the very start - it couldn't possibly be developed as quickly as the non-portable quick hack that was linux (by Linus' own admission). Of course, linux over time became portable and mature, but that wasn't the case at the beginning.

What this shows is that sometimes quick and dirty hacks develop into something usable, and can displace slow, carefully desiged development efforts.

The last statement in the

August 3, 2007 - 2:21am
Anonymous (not verified)

The last statement in the above comment can be summed up as:

Make it *work* faster
and then
Make it work *faster*

Instructors number 1 rule at the time

August 3, 2007 - 1:08pm
Anonymous (not verified)

While all this was happening, I had a Computer Science instructor at the University of Minnesota who always said

"Make it Work, Make it Work, *Then* make it Fast!"

I've never forgotten that and it's served me well.

Hurd

August 3, 2007 - 4:54am
Dan K (not verified)

There is a paper on the GNU Hurd in the July 2007 issue of the ACM SIGOPS "Operating Systems Review" titled "A critique of the GNU Hurd Multi-Server Operating System".
I have not yet had a chance to read it, but it should be quite interesting.
The fact that theres papers being written about it, imho, shows that the Hurd is not quite dead yet, though at this stage I'd be surprised if it was ever completed.

Dead enough

August 3, 2007 - 7:16am
c. (not verified)

Well, dead is relative.

More people are being exposed to Hurd through papers than by actually running it.

In comparison, Linux had a well-established user base before the first research article ever hit the press.

c.

Re: dead enough

August 4, 2007 - 7:01am
devicerandom (not verified)

Well, I actually ran the Hurd a couple of times (once even on bare metal instead than on a VM!), and I follow the mailing list.

It somehow works, Debian packages are current and X runs on it. But it's in a desolating state. Bugs and kludges everywhere. There are no more definite plans of porting the Hurd from the old Mach to other kernels, there's only a diehard bunch of developers fixing bugs and slowly porting things here and there, but drivers are still horrendously lacking and even features like the infamous 2Gb-partition limit is fixed only in Debian GNU/Hurd and not on the official sources...

Terrible, terrible state. Much younger and more innovative projects like ReactOS or Haiku are probably more usable than the Hurd, currently. But it has an old flavour that could make many people cry of nostalgia. It's actually fun. There are a LOT of things a dedicated hacker can do on that.

Their problem is basically lack of dedicated developers able to cope with the technicalities of the project. This is bad. A functional Hurd would be a truly cool thing to join to the current Unix ecosystem. I hope some operating system hacker will join them.

Perhaps not if you look a

August 3, 2007 - 8:13am
Anonymous (not verified)

Perhaps not if you look a little closer. Take for instance GCC, most of the work done are not done by the FSF, and it have not ben so for a very long time. A very major part of the code comes from commercial outfits, and people working for those firms full time. Companies like Red-Hat, Cygnus(Now Red-Hat too), IBM and Intel. If I'm not mistaken the maintainer is even a Red-Hat emploee.

GCC

August 10, 2007 - 6:11am
Peter 13427 (not verified)

I can only agree to your train of thought. GCC doesn't do anything themselves at all. I have an uncle working there and he always says that they don't do anything but giving all the work to FSF....

GNU tools

August 3, 2007 - 2:20am
colmore (not verified)

OK so the FSF missed the boat on Hurd. Case study in why a vertically functional prototype beats a meticulously planned spec every time.

But it is GNU/Linux. A kernel isn't an operating system, not in the sense that anyone uses the term these days. Or maybe you're running a raw kernel without any userland? How did you get that to boot? Did you cross-compile from Minix?

Or maybe you're running a

August 3, 2007 - 5:30am
Anonymous (not verified)

Or maybe you're running a raw kernel without any userland? How did you get that to boot?

Using uClibc and busybox of course. GNU isn't an essential part of the Linux picture anymore.

Yes, and just how many

August 3, 2007 - 9:35am
Phill MV (not verified)

Yes, and just how many distros like that exist? And as a percentage of popular distros, or stuff that gets used outside of embedded specialty hardware?

Has anyone ever bothered to seriously do BSD/Linux?

I really don't get why people always bash GNU. They've done a great job, even if at the end of the day it's still Unix...

*goes back to fighting Solaris 10 userland

Re: Yes, and just how many

August 4, 2007 - 7:03am
devicerandom (not verified)

Well, I would like to see a BSD/Linux (I know that they did the opposite, namely GNU/kFreeBSD).

Freedom of choice would be better if we were not restricted to the GNU userland (even if I love that a lot, but that's just because it's the only decent one I've been exposed to)

Can you run the "system"

August 6, 2007 - 9:38am
Anonymous (not verified)

Can you run the "system" without the GNU tools? Yes, you can replace them with other, equivalent, functionally-complete tools. You may need to make some modifications. It has already been done.

Can you run the "system" without the Linux kernel? Well, you can use Hurd.. well, not really. You would need to finish writing the Hurd kernel, which is not a minor task, and has yet to be done after many years.

Linux does not need GNU to exist and function and be useable on a daily basis. The GNU toolset makes things nicer, but they're not essential.

It is proper to show respect for the toolset that is used, and any other software that is used. The GNU tools and other applications make up a great collection of software. But the system as a whole should not be called "GNU/Linux" any more than it should be called "KDE/Linux" or "Xorg/Linux" or anything else silly like that (just to pick a random few). If people choose to call it that, fine, that's their choice. Demanding that it be called that? That's the height of arrogance.

-M

Not fair to HURD

August 6, 2007 - 9:49am
Anonymous (not verified)

The HURD developers are basically doing research. They are attacking from an angle noone has done before. I am *sure* that several kernel HURD developers could do a monolithic basic kernel in no time at all, considering that Linus was working alone - if they wanted to. Several people > one people.

But they dont want to do a basic monolithic kernel, its no interesting. Linus approach is very basic, and it works. But it isnt fancy or cool, from a kernel standpoint.

You can never estimate how long research will take. It can take years. Specially if you opt for the coolest solution.

Oh nostalgia, how things change

August 2, 2007 - 1:37pm
Anonymous (not verified)

GCC 1.x! ONLY 386/486! EGA/VGA!

"former Soviet Union and can't do any FTP"

Striking! I didn't know about that one.

$ host -t ptr 128.214.6.100
100.6.214.128.in-addr.arpa domain name pointer teknosmitrix2.tekn.helsinki.fi
$ host -t a nic.funet.fi
nic.funet.fi has address 193.166.3.1

Who doesn't remember Funet's IRCnet server?

Don't waste your time

August 2, 2007 - 5:46pm

I'm working on a free version of a minix-lookalike

Don't waste your time - it'll never amount to anything!

GNU/Hurd

August 2, 2007 - 7:40pm
Jessta (not verified)

just a note,
I believe the kernel is called GNU Hurd.
GNU/Hurd is the operating system that in the combination of the GNU userland tools and the GNU Hurd kernel.

It's semantics, but if you've gone to the effort of putting the '/' in there then it makes sense to have it correct.

The old days...

August 3, 2007 - 1:23am
Ed Carp (not verified)

Ya know, I remember when people used to really write code to impress people, instead of sitting around and arguing semantics to try and impress them.

Impress us with your clever code, not your clever words. When all is said and done, more is said than is done...

"When all is said and done,

August 3, 2007 - 3:34am
Anonymous (not verified)

"When all is said and done, more is said than is done.."

Nice zinger Ed! I'm impressed!

:-D

August 3, 2007 - 4:07am
Anonymous (not verified)

:-D

Re: The old days...

August 4, 2007 - 9:05am
Anonymous (not verified)

"Impress us with your clever code, not your clever words. When all is said and done, more is said than is done..."

Very clever. :-P

an email dated October 31st,

August 3, 2007 - 3:17am
Anonymous (not verified)

an email dated October 31st, 1991 on comp.os.minix notes that 0.03 had recently been released:

Minor nitpick: it isn't an email if it's exclusively posted on a newsgroup.

Hope Hurd Replaces Linux :(

August 8, 2007 - 10:24am
Prakashasada (not verified)

I sincerely Hope HURD be developed and replace Linux.atleast I believe in the ethics of FSF and Free Software Open Source.It is a pity to see bashing GNU,RMS by zealots here. :x
FOSS rocks!!!

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
speck-geostationary