From: lars.wirzenius@helsinki.fi (Lars Wirzenius)
Crossposted-To: news.answers
Subject: Linux INFO-SHEET
Date: 15 Nov 92 22:00:12 GMT
Reply-To: lars.wirzenius@helsinki.fi

Archive-name: linux-faq/info-sheet
Last-modified: 1992-11-12


LINUX INFORMATION SHEET
by Lars Wirzenius (lars.wirzenius@helsinki.fi),
earlier versions done by other people


0. About this INFO-SHEET

        This INFO-SHEET tries to be a concentrated distillation of the
        necessary information one needs to decide whether Linux is a
        suitable operating system for you.  It is kind of an
        advertisment, although hopefully more truthful.

        This INFO-SHEET is posted every other week to the
        comp.os.linux newsgroup.

1. What Is Linux?

        Linux is a freely distributable UNIX clone.  It is mostly
        compatible with System V and POSIX specifications, but is
        quite compatible with BSD as well.

        The Linux kernel has been written from scratch, and therefore
        does not contain any proprietary code, either from AT&T,
        MINIX, or other places--not in the kernel, the compiler, the
        utilities, or the libraries.  For this reason it can be made
        available with the complete source code via anonymous FTP.
        (The software that runs under Linux, on the other hand, is
        mostly already existing Unix freeware, with a lot of stuff
        coming from the GNU Project.)

        Linux runs only on 386/486 machines with an ISA or EISA bus;
        porting to other architectures is likely to be difficult, as
        the kernel makes extensive use of 386 memory management and
        task primitives (but there are people working on at least an
        Amiga port).  MCA is not supported because there is little
        available documentation (especially for poor-hacker -friendly
        prices) about it.  (See below for more information on
        hardware.)

        Linux is still in beta testing and therefore not really
        considered to be suitable for production work (although it is
        used for that anyway).  There are still bugs in the system,
        and since it develops rapidly, new bugs creep up often.
        However, some releases are quite stable, and you can stay with
        those if you don't want to be on the bleeding edge.  Some
        sites have been running Linux systems continuously doing real
        work for more than 50 days, without a single reboot, crash, or
        other lock-up!

        One thing to be aware of is that Linux is developed using an
        open and distributed model, instead of a closed and
        centralised model like much other software.  This means that
        the current development version is always public (with up to a
        week or two's delay) so that anybody can use it.  The result
        is that whenever a version with new functionality is released,
        it almost always contains bugs, but it also results in a very
        rapid development so that the bugs are found and corrected
        quickly, sometimes in hours.

        (The closed and centralised model means that there is only one
        person or team working on the project, and they only release
        software that they think is working well.  Often this leads to
        long intervals between releases, long waiting for bug fixes, and
        slower development.  Of course, the latest release of such
        software is often of higher quality.)

        As of November 12 the current version is 0.98 patchlevel 4.

2. Linux Features

      * multitasking: several programs running at once
      * multiuser: several users on the same machine at once (and NO
        two-user licenses!)
      * memory protection between processes, so that one program can't
        bring the whole system down
      * core dumps for post-mortem analysis (using a debugger on a
        program after it has crashed)
      * demand loading of executables: only read in those parts of a
        program that are actually used
      * virtual memory using paging (not swapping whole processes) to
        disk, to a separate partition or a file in the filesystem, or
        both, and with a possibility to add more swapping areas at
        runtime (they're still called swapping areas)
      * shared pages among executables with copy-on-write
      * shared libraries (static too, of course)
      * a unified memory pool for user programs and disk cache (so
        that all free memory can be used for caching, and the cache
        can be reduced when running large programs)
      * mostly compatible with POSIX, System V, and BSD at the source
        level
      * all source code is available, including the whole kernel and
        all drivers, the development tools and all user programs;
        also, all of it is freely distributable
      * POSIX job control
      * pseudoterminals (pty's)
      * 387-emulation in the kernel so that programs don't need to
        include math emulation packages
      * support for many national or customized keyboards, and it's
        fairly easy to add new ones
      * runs in protected mode of the 386
      * multiple virtual consoles: several independent login sessions
        through the console, you switch by pressing a hot-key
        combination (not dependent on video hardware)
      * normal and extended Minix filesystems (the extended version
        supports up to 4 TB, filenames up to 255 chars)
      * transparent access to MS-DOS partitions (or OS/2 FAT
        partitions) via a special filesystem: you don't need any
        special commands to use the MS-DOS partition, it looks just
        like a normal Unix filesystem (except for funny restrictions
        on filenames, permissions, and so on)
      * CD-ROM filesystem
      * Xenix filesystem
    
In addition the following are being worked on (in various states of
usability):

      * networking (TCP/IP, including ftp, telnet, etc)
      * tape drivers
      * compressed file system
      * Xenix binary compatibility

3. Hardware Issues

    Minimal configuration

        The following is probably the smallest possible configuration
        that Linux will work on: 386SX/16, 2 MB RAM, 1.44 MB or 1.2 MB
        floppy, any supported video card (+ keyboards, monitors, and
        so on of course).  This should allow you to boot and test
        whether it works at all on the machine, but you won't be able
        to do anything useful.

        In order to do something, you will want some hard disk space
        as well, 5 to 10 MB should suffice for a very minimal setup
        (with only the most important commands and perhaps one or two
        small applications installed, like, say, a terminal program).
        This is still very, very limited, and very uncomfortable, as
        it doesn't leave enough room to do just about anything.  (It's
        definitely not recommended for anything but testing if things
        work, and of course to be able to brag about small resource
        requirements. :-)

    Usable configuration

        If you are going to run computationally intensive programs,
        such as gcc, X, and TeX, you will probably want a faster
        processor than a 386SX/16, but even that should suffice if you
        are patient.

        In practice, you need at least 4 MB of RAM if you don't use X,
        and 8 MB if you do.  Also, if you want to have several users
        at a time, or run several large programs (compilations for
        example) at a time, you may want more than 4 MB of memory.  It
        will still work with a smaller amount of memory (should work
        even with 2 MB), but it will use virtual memory and that will
        be so slow it's unusable.

        The amount of hard disk you need depends on what software you
        want to install.  The normal basic set of Unix utilities,
        shells, and administrative programs should be comfortable in
        less than 10 MB, with a bit of room to spare for user files.
        For a more complete system, the SLS documentation reports that
        a full base system without X fits into 20 MB, and with X into
        40 MB (this is only binaries).  Add the whatever space you
        want to reserve for user files.

        Add more memory, more hard disk, a faster processor and other
        stuff depending on your needs, wishes and budget to go beyond
        the merely usable.

    Supported hardware

        Note: This section is still sketchy.  Feedback appreciated.

        CPU: Anything that runs 386 protected mode programs (all
        models of 386s and 486s should work; 286s don't work, and
        never will).

        Architecture: ISA or EISA bus (you still need an ISA-bus hard
        disk controller, though).  MCA (aka PS/2) does not work.
        Local bus should work.

        RAM: Theoretically up to 1 GB (but more than 16 MB requires a
        kernel recompilation).  (It will work with "too much" memory,
        but it won't use it.)

        Data storage: Generic AT drives (IDE, 16 bit HD controllers
        with MFM or RLL), generic XT controllers (8 bit controllers
        with MFM or RLL) need a special driver (not currently part of
        the standard kernel), SCSI hard disks and CD-ROM.  Supported
        SCSI cards: Adaptec 1542 (but not 1522) including the 1740 in
        1542 compatibility mode, Seagate ST-01 and ST-02, Future
        Domain TMC-88x series (or any board based on the TMC950 chip)
        and TMC1660/1680, Ultrastor 14F, and Western Digital
        7000FASST.

        Video: VGA, EGA, CGA, or Hercules (and compatibles) work in
        text mode.  For graphics and X, there is support for (at
        least) EGA, normal VGA, some super-VGA cards (most of the
        cards based on ET3000, ET4000, Paradise, and some Trident
        chipsets), some S3 cards (not Diamond Stealth, because the
        manufacturer won't tell how to program it) and 8514/A.  (Linux
        uses the Xfree86 X server, so that determines what cards are
        supported.)

        Other hardware: SoundBlaster, AST Fourport cards (with 4 serial
        boards), several flavours of bus mice (Microsoft, Logitech,
        PS/2).

4. An Incomplete List of Ported Programs and Other Software

        Most of the common Unix tools and programs have been ported to
        Linux, including almost all of the GNU stuff and many X
        clients from various sources.  Actually, ported is often too
        strong a word, since many programs compile out of the box
        without modifications, or only small modifications (maybe
        being POSIXy and following standards isn't so bad :).
        Unfortunately, there are not very many end-user applications.
        Nevertheless, here is an incomplete list of software that is
        known to work under Linux.

        Basic Unix commands: ls, tr, sed, awk and so on (you name it,
        we've probably got it).

        Development tools: gcc, gdb, make, bison, flex, perl,
        rcs, cvs, gprof.

        Graphical environments: X11R5 (Xfree86), MGR.

        Editors: GNU Emacs, MicroEmacs, elvis, joe.

        Shells: Bash, zsh, tcsh, rc.

        Telecommunication: UUCP, kermit, szrz, minicom, pcomm, xcomm,
        term (runs multiple shells over one modem line).

        News and mail: C-news, trn, nn, tin, smail, elm.

        Textprocessing: TeX, groff.

        Games: Nethack, several Muds.

5. Getting Linux

   Anonymous FTP

        At least the following anonymous ftp sites carry Linux.  This
        list is taken from the Meta-FAQ list, which is posted every
        week to the comp.os.linux newsgroup (the Meta-FAQ is updated
        more often than this information sheet, so the list below may
        not be the most current one).

   textual name                            numeric addr    Linux directory

   tsx-11.mit.edu                          18.172.1.2      /pub/linux
   sunsite.unc.edu                         152.2.22.81     /pub/Linux
   nic.funet.fi                            128.214.6.100   /pub/OS/Linux
   ftp.mcc.ac.uk                           130.88.200.7    /pub/linux
   fgb1.fgb.mw.tu-muenchen.de              129.187.200.1   /pub/linux
   ftp.informatik.tu-muenchen.de           131.159.0.110   /pub/Linux
   ftp.dfv.rwth-aachen.de                  137.226.4.105   /pub/linux
   ftp.informatik.rwth-aachen.de           137.226.112.172 /pub/Linux
   kirk.bu.oz.au                           131.244.1.1     /pub/OS/Linux
   utsun.s.u-tokyo.ac.jp                   133.11.11.11    /misc/linux
   ftp.uu.net                              137.39.1.9      /packages/linux
   wuarchive.wustl.edu                     128.252.135.4   mirrors/linux
   ftp.win.tue.nl                          131.155.70.100  /pub/linux


    Other methods of obtaining Linux

        There are several BBS's that have Linux files.  A list of them
        is maintained by Zane Healy; he posts it to the comp.os.linux
        newsgroup around the beginning and middle of the month, please
        see that post for more information.

        There is also at least one organization that distributes Linux
        on floppies, for a fee.  Contact 

                Softlanding Software
                910 Lodge Ave.
                Victoria, B.C., Canada
                V8X-3A8
                (608) 360-0188

        The price is US$3.25 per disk ($4.00 Canadian) in 5.25" format
        (add $1/disk for 3.5").  Add GST (7%) and PST/SST as
        applicable, plus $10.00 for S&H (outside North America, add
        $10.00).  (Prices may change without notice.)  There are 13
        disk in a base system, 21 if you want X.

        Also, don't forget about friends and user's groups, who are
        usually glad to let you make a copy.

    Getting started

        As mentioned at the beginning, Linux is not centrally
        administered.  Because of this, there is no "official" release
        that one could point at, and say "That's Linux".  Instead,
        there are various "distributions", which are more or less
        complete collections of software configured and packaged so
        that they can be used to install a Linux system.  The two most
        important ones are the SLS and MCC releases.

        SLS is put together by Peter MacDonald, and is the more
        full-featured one.  It contains most of the available
        software, and includes X.  MCC is maintained by Owen LeBlanc
        at the Manchester Computing Centre, and has a longer history
        than SLS, but it doesn't contain X, and some other goodies.
        Either one serves as a starter's package.

        The first thing you should do is to get and read the list of
        Frequently Asked Questions (FAQ) from one of the FTP sites, or
        by using the normal Usenet FAQ archives (e.g.
        pit-manager.mit.edu).  This document has plenty of
        instructions on what to do to get started, what files you
        need, and how to solve most of the common problems (during
        installation or otherwise).

6. Legal Status of Linux

        Although Linux is supplied with the complete source code, it
        is copyrighted software, not public domain.  However, it is
        available for free under the GNU Public License.  See the GPL
        for more information.  The programs that run under Linux have
        each their own copyright, although much of it uses the GPL as
        well.  All of the software on the FTP site is freely
        distributable (or else it shouldn't be there).

7. News About Linux

        There is a Usenet newsgroup, comp.os.linux, for Linux
        discussion, and also several mailing lists.  See the Linux FAQ
        for more information about the mailing lists (you should be able
        to find the FAQ either in the newsgroup or on the FTP sites).

        For the current status of the Linux kernel, finger
        torvalds@kruuna.helsinki.fi.

        There is also a more or less weekly "newsletter", Linux News,
        which summarizes the most important announcements and uploads,
        and has occasional other articles as well.  Look in
        comp.os.linux for a sample issue.

8. Future Plans

        Work is underway on Linux version 1.0, which will close some
        of the gaps in the present implementation.  The major
        functionality shortcomings are some painfully missing drivers
        (especially tape drivers), advanced interprocess
        communication, shared memory, closer compatibility with POSIX,
        and a lot of tweaking.  Documentation is also sorely missing.