I'm doing
a (free) operating system (just a hobby, won't be big and professional like
gnu) for 386(486) AT clones. This has been brewing since April, and is starting
to get ready. I'd like any feedback on things people like/dislike in minix, as
my OS resembles it somewhat (same physical layout of the file-system (due to
practical reasons) among other things).
I've
currently ported bash(1.08) and gcc(1.40), and things seem to work. This
implies that I'll get something practical within a few months [...] Yes - it's
free of any minix code, and it has a multi-threaded fs. It is NOT portable
(uses 386 task switching etc), and it probably never will support anything
other than AT-harddisks, as that's all I have :-(.
[...] It's mostly in C, but most
people wouldn't call what I write C. It uses every conceivable feature of the
386 I could find, as it was also a project to teach me about the 386. As
already mentioned, it uses a MMU, for both paging (not to disk
yet) and segmentation. It's the segmentation that makes it REALLY 386 dependent
(every task has a 64Mb segment for code & data - max 64 tasks in 4Gb.
Anybody who needs more than 64Mb/task - tough cookies). [...] Some of my
"C"-files (specifically mm.c) are almost as much assembler as C.
[...] Unlike minix, I also happen to LIKE interrupts, so interrupts are handled
without trying to hide the reason behind them.[11]
After
that, many people contributed code to the project. Early on, the MINIX community contributed code and ideas to the Linux
kernel. At the time, the GNU Project had created many of the
components required for a free operating system, but its own kernel, GNU Hurd, was incomplete and unavailable.
The BSD operating system had not yet freed itself from legal encumbrances. Despite the limited
functionality of the early versions, Linux rapidly accumulated developers and
users.
By
September 1991, Linux version 0.01 was released, uploading it to the FTP server
(ftp.funet.fi) of the Finnish University and Research Network (FUNET). It had
10,239 lines of code. In October 1991, Linux version 0.02 was released.[12]
In
December 1991, Linux 0.11 was released. This version was the first to be self-hosted - Linux 0.11 could be compiled
by a computer running Linux 0.11. When he released version 0.12 in February
1992, Torvalds adopted the GNU General Public License (GPL) over his previous
self-drafted license, which had not permitted commercial redistribution.[13]
A
newsgroup known as alt.os.linux was started, and on 19 January 1992, the
first post to alt.os.linux was made.[14] On 31 March 1992, alt.os.linux
became comp.os.linux.[15]
The X Window System was soon ported to Linux. In
March 1992, Linux version 0.95 was the first to be capable of running X. This
large version number jump (from 0.1x to 0.9x) was due to a feeling that a
version 1.0 with no major missing pieces was imminent. However, this proved to
be somewhat overoptimistic, and from 1993 to early 1994, 15 development
versions of version 0.99 appeared.
distribution CDs thousands of tools and
applications--easily much more than any other distribution. All these
tools/apps are nicely "packaged" (for ease of installation) and
tested for compatibility. This makes Debian distro look monumental, safe,
conservative, and always slightly outdated. So yes, we would not have a problem
recommending Debian as a great general-purpose Linux distribution. Debian calls
itself "The Universal Operating System" for a good reason. At any
time, Debian carries 3 versions. (1) The "stable" version (sometimes
called "potato"), and we would not recommend it, unless you are really
paranoid on stability and don't mind quite outdated packages. (2) The Debian
"testing" version (sometimes called "woody") is probably as
stable as the latest RedHat, and more stable than your current Mandrake. It is
much more up do date than Debian "stable". Debian Woody is the version
we like. (3) If you don't mind occasional trouble, you can also the the third
branch called "unstable", which is likely quite up-to-date.
Corel was once working on their own Linux distribution apparently geared
towards a nice and easy platform to run the Corel suite of office applications:
WordPerfect wordprocessor, QuattroPro spreadsheet, Corel Presentations, Paradox
database, CorelDraw artist package.... The Corel Linux was based on the Debian
distribution. It looked initially quite promissing, but it is unclear to me
what Corel has done with it (was paid by Microsoft to drop it?). In brief,
Corel Linux is dead now, and I would never recommend it to anybody because it
it a dead-end. The only reason to mention it here is that Corel Linux once
received lots of publicity, so you may still hear about it.
Slackware seems to be favorite among "cutting-edge hackers" who like
being close to the operating system and hardware--we did not use it so this is
hearsay. We would have trouble recommending Slackware for Linux newbies. Our
reviewer Bill Staehle says: "The real 'reason' for a newbie to avoid
Slackware is that it is much more command line oriented, and lacks some of the
'cutsie slick and drool' tools that the other distributions have." However,
we received feedback from Linux newbies who use Slackware and it works very
well for them. It seems that Slackware is relatively simple and cool because of
the lack of automation. Therefore, with a bit of effort, a computer-literate
administrator can actually understand what is going in her operating system
(this is not something I can always say about Mandrake, or MS Windows for that
matter). Perhaps Slackware is to Linux what DOS is for MS Windows :) is very popular in Europe. It surely looks German--a solid,
general-purpose distro with an easy setup and an excellent reputation. Many
users swear by SuSe. We couldn't find cheap Suse CDs though but it appears you
can download it.
Caldera was another, well-known and distribution.
It was said to be aiming at corporate users, have the most fancy installation
program, a set of advanced (and pricey) remote configuration tools, and other corporate
goodies. In Aug.2000, Caldera purchased SCO Unix (the original UNIX, including
the UNIX trademark) which gives them an even more "corporate" look in
my eyes. Caldera does not seem to be putting too much of their work into the
Linux community, nor to care too much about the home Linux users, so I would
not consider it for my home use.
There are "localized" versions of Linux
for specific countries or languages (Korean, Chinese, Japanese... )--they
likely contain (on default) all the hacks and docs (documentation) that the
users in these countries want to see. Says Bill Staehle: "You may want to
mention the Conectiva Linux distribution, loosely based on RH from Brazil. As
such, it is in Portugese, and is also available in Spanish. I heard several good things about Conectiva, so if Portugese or
Spanish was my language, I would probably give it a try.
There are also "special purpose"
distributions, e.g. the "real-time" editions of Linux (might be
useful if you are in for automation, robotics, fast speed data acquisition,
etc.), very small distros (if you like the idea of running Linux from a single
floppy which can be useful for system security or recovery), Linux for embedded
systems (if you wanted to customize Linux as a small "special
purpose" device, which could be good for the next-generation stereo, MP3
player, palm computer, or a fancy cellular phone), parallel computing and
clustering systems (might be great if you plan to do your own weather
forecasting :-) or at least nuclear explosion simulations :p ), etc. Here the
differences will be larger, but these distributions are not meant to be
"general purpose". As a newbie, you likely don't want to start with
any of these, although you might be tempted to. (They surely show Linux
strength and viability--Linux runs on toys, even a wrist watch, as well as
computer clusters that make the currently fastest systems in the world.)
The distribution you need is of course specific to the hardware platform you
have. This means that for your PC hardware containing an Intel 386 processor,
or Intel 486, or Intel Pentium, or Intel 586, or Intel 686, or Cyrix, or K6,
AMD, or similar, you need the binary distribution called "Intel" or
"386" or x86. [Unless you are prepared to start with your own
compilation of the Linux source code, which is not typical for a newbie :-)] .
This happens because there are binary distributions for other hardware
platforms too: PowerPC, Alpha, Apple, IBM mainframe, "Intel
StrongARM", Transmeta, and perhaps a dozen more--you don't want to get
those binaries for your PC clone; they surely will not work on a PC machine
with an "Intel" or "AMD" processor inside. If you have
no-Intel hardware, you may want to search the Internet to find who supports it
(chances are Debian does, they seem to support even the most exotic ones. Then,
you need to obtain "Debian ARM" or "Debian Motorola
680x0"or "Debian PowerPC" or "Debian SPARC ", ...).
In short, although newbies get confused with the multiple Linux distributions,
there are reasons to have different distros. They should be viewed as a Linux
strength rather than weakness. Linux is simply filling all application and
hardware platform niches.
This guide concentrates on RedHat and Mandrake for the PC (Intel) platform.
Many of the answers will work fine on other distributions or platforms, but we
did not try them.
Which Linux Distribution should I select for my old
computer(s)? Quick answer: Debian, Slackware, or perhaps BasicLinux (current
version), or an older version of RedHat, Mandrake, or SuSE. Justification:
RedHat, Mandrake, SuSE, Caldera, and TurboLinux are optimized/suitable for
hardware current at the date of their release. They may be difficult or
impossible to install on older machines mostly due to the memory contraints and
speed. Debian and Slackware are suitable for most older hardware as well.
The most recent distributions we recommend (Nov.
2002) is RedHat 8.0 or Mandrake 9.0. These are excellent distributions. Be sure
to specify the most recent version if ordering your software from a
dealer--many dealers like to clear their inventory by sending you an older
version (this applies not only to Linux). Generally, development under Linux is
fast, and you don't want to waste your time with older distributions. The
authors of this guide have no connection to RedHat, Mandrake (or any other
Linux distributor) whatsoever.
Our recommendation of Mandrake and RedHat for
newbies does not mean that other distributions don't offer benefits or unique
features which may surpass Mandrake or RedHat in specific areas. We do believe
that we benefited from exposure to a different distribution because it helped
us understand Linux better.
We tried Debian and we liked it very much. It was probably as easy as RedHat,
but Debian seems less common (hence, being newbies, we picked up RedHat). The
great benefit of Debian is that it is 100% non-commercial (put together by
volunteer hackers, the true Linux way) and it probably most strictly adheres to
Linux standards (it probably sets the standards too). Another great benefit is
that Debian crams on their numerous
Linux distribution is a coherent collection of free
software with the Linux kernel (operating system) at its center.
The differences between the various Linux
distributions ("distros") are minor: the installation program, choice
of the bundled tools/applications, arrangement of a few things on the hard
drive (most of Linux is still at the same, standard hard drive location in all
distributions). Whichever distribution you decide to install, you will end up
with essentially the same Linux.
We mostly use "Red Hat Linux" (also
called RedHat or RH) and Mandrake (sometimes called MDK) for the following
reasons:
They are both very popular (both an advantage for a newbie and a
testimony to their quality).
They are both general-purpose distributions.
They both come with relatively easy setup programs.
Both Mandrake and RedHat contributions to Linux are "open
software" (this means that all the software written by the packaging
corporations and included on the distribution CDs is licensed under the
General Public License, GPL, so that it can be legally copied, given away,
reused, etc.).
Both Mandrake and RedHat can be obtained very cheaply or free if
you don't care for commercial support. This is a consequence of (4).
Mandrake is based on RedHat, so both are very similar. Software
packages for RedHat typically work on Mandrake (and vice versa) without
problems. However, Mandrake is a bit more automatized and makes a somewhat
nicer desktop than RedHat, and requires Pentium processor on default (RH
will run on a i386).
In short, as a newbie, you can safely bet on
"RedHat" or "Mandrake" unless you like something else or
have specialized needs, or your environment suggests using something else
(e.g., if you have an experienced guru nearby, or a bunch of friends who are
using Linux, you may want to use the same distribution - makes getting help a
whole lot easier).