Subject: Linux INFO-SHEET
From: [email-masked]
Date: 6 Aug 1994 08:39:14 GMT
Newsgroups: comp.os.linux.announce,comp.os.linux.help,comp.answers,news.answers

Archive-name: linux/info-sheet
Last-modified: 1 Aug 94
Version: 3.10
                             Linux Information Sheet 

                           Version 3.10 August 1, 1994 

        0.1 Introduction to Linux 

        Linux is a completely free reimplementation of the POSIX spec, 
        with SYSV and BSD extensions (which means it looks like unix, 
        but does not come from the same source code base), which is 
        available in both source code and binary form. It is copyrighted 
        by Linus B. Torvalds ([email-masked]) and other 
        contributors, and is freely redistributable under the terms of 
        the GNU Public License. 

        Linux is not public domain. It is `free' software, and you may 
        give copies away, but you must also give the source with it or 
        make it available in the same way. If you redistribute any 
        modifications, you are legally bound to distribute the source 
        for those modifications. See the GNU Public License for details. 
        A copy is included with the Linux source, or you can get a copy 
        via ftp from prep.ai.mit.edu in /pub/gnu/COPYING 

        Linux is still free as of version 1.0, and will continue to be. 
        Because of the nature of the GNU copyright which Linux is 
        subject to, it would be illegal for it to be made not free. Note 
        carefully: it is perfectly legal to charge money for 
        distributing Linux, so long as you also distribute the source 
        code. This is a generalization; if you want the fine points, 
        read the GPL. 

        Linux runs only on 386/486 machines with an ISA or EISA bus. MCA 
        (IBM's proprietary bus) is not currently supported because there 
        is little available documentation. VLB and PCI local busses are 
        both supported, although the NCR SCSI chip that is used in many 
        PCI machines is not yet supported, but is currently in 
        development. 

        Porting to other CPU's is likely to be somewhat difficult, as 
        the kernel makes extensive use of 386 memory management and task 
        primitives. However, this has become much easier as the kernel 
        has become more general, and there is a port in progress for 
        multiple Motorola 680x0 platforms (currently running on some 
        Amigas and Ataris), and ports are being considered or have been 
        started to other platforms as well, including ALPHA, PowerPC, 
        and PowerMAC. Don't hold your breath, but if you are interested 
        and able to contribute, you may well find other developers who 
        wish to work with you. 

        Linux is no longer considered to be in beta testing, as version 
        1.0 was released on March 14, 1994. There are still bugs in the 
        system, and new bugs will creep up and be fixed as time goes on. 
        Because Linux follows the ``open development model'', all new 
        versions will be released to the public, whether or not they are 
        considered ``production quality''. However, in order to help 
        people tell whether they are getting a stable version or not, 
        the following scheme has been implemented: Versions 1.x.y, where 
        x is an even number, are stable versions, and only bug fixes 
        will be applied as y is incremented. So from version 1.0.2 to 
        1.0.3, there were only bug fixes, and no new features. Versions 
        1.x.y, where x is an odd number, are beta-quality releases for 
        developers only, and may be unstable and may crash, and are 
        having new features added to them all the time. 

        From time to time, as the currect development kernel stabilizes, 
        it will be frozen as the new ``stable'' kernel, and developement 
        will continue on a new development version of the kernel. 

        Most versions of Linux, beta or not, are quite stable, and you 
        can keep using those if they do what you need and you don't want 
        to be on the bleeding edge. One site had a computer running 
        version 0.97 patchlevel 1 (dating from the summer of 1992) for 
        over 136 days without an error or crash. (It would have been 
        longer if the backhoe operator hadn't mistaken a main power 
        transformer for a dumpster...) 

        One thing to be aware of is that Linux is developed using an 
        open and distributed model, instead of a closed and centralized 
        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, often in 
        hours, as many people work to fix them. 

        In contrast, the closed and centralized 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 to the public is often of higher quality, but the 
        development speed is generally much slower. 

        As of June 11, 1994, the current stable version of Linux is 
        1.0.9, and the development version was 1.1.19 the last time I 
        heard. 

        0.2 Linux Features 

         * multitasking: several programs running at once. 

         * multiuser: several users on the same machine at once (and NO 
           two-user licenses!). 

         * runs in 386 protected mode. 

         * has memory protection between processes, so that one program 
           can't bring the whole system down. 

         * demand loads executables: Linux only reads from disk those 
           parts of a program that are actually used. 

         * shared copy-on-write pages among executables. This means that 
           multiple process can use the same memory to run in. When one 
           tries to write to that memory, that page (4KB piece of 
           memory) is copied somewhere else. Copy-on-write has two 
           benefits: increasing speed and decreasing memory use. 

         * virtual memory using paging (not swapping whole processes) to 
           disk: to a separate partition or a file in the filesystem, or 
           both, with the possibility of adding more swapping areas 
           during runtime (yes, they're still called swapping areas). A 
           total of 16 of these 128 MB swapping areas can be used at 
           once, for a theoretical total 2 GB of useable swap space. 

         * 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). 

         * dynamically linked shared libraries (DLL's)(static libraries 
           too, of course). 

         * does core dumps for post-mortem analysis, allowing the use of 
           a debugger on a program not only while it is running but also 
           after it has crashed. 

         * mostly compatible with POSIX, System V, and BSD at the source 
           level. 

         * through iBCS2-compliant emulation, mostly compatible with 
           SCO, SVR3, and SVR4 at the binary 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. There are some 
           commercial programs being provided for Linux now without 
           source, but everything that has been free is still free. 

         * POSIX job control. 

         * pseudoterminals (pty's). 

         * 387-emulation in the kernel so that programs don't need to do 
           their own math emulation. Every computer running Linux 
           appears to have a math coprocessor. Of course, if your 
           computer already contains an FPU, it will be used instead of 
           the emulation, and you can even compile your own kernel with 
           math emulation removed, for a small memory gain. 

         * support for many national or customized keyboards, and it is 
           fairly easy to add new ones. 

         * multiple virtual consoles: several independent login sessions 
           through the console, you switch by pressing a hot-key 
           combination (not dependent on video hardware). 

         * Supports several common filesystems, including minix-1, 
           Xenix, and all the system V filesystems, and has an advanced 
           filesystem of its own, which offers filesystems of up to 4 
           TB, and names up to 255 characters long. 

         * 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). MS-DOS 6 compressed 
           partitions do not work at this time, and are not expected to. 

         * special filesystem called UMSDOS which allows Linux to be 
           installed on a DOS filesystem. 

         * read-only HPFS-2 support for OS/2 2.1 

         * CD-ROM filesystem which reads all standard formats of 
           CD-ROMs. 

         * TCP/IP networking, including ftp, telnet, NFS, etc. 

        0.3 Hardware Issues 

        0.3.1 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, unless your 
        applications are quite limited. It's generally not recommended 
        for anything but testing if things work, and of course to be 
        able to brag about small resource requirements. 

        0.3.2 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 (using the hard drive as 
        slow memory) and that will be so slow as to be 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, get Slackware, MCC, or (soon) Debian or 
        Linux/PRO, and assume that you will need 60 to 200 MB, depending 
        on what you choose to install and what distribution you get. Add 
        whatever space you want to reserve for user files to these 
        totals. With today's prices on hard drives, if you are buying a 
        new system, it makes no sense to buy a drive that is too small. 
        Get at least 200 MB, and you will not regret it. 

        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. In general, one big difference from DOS is 
        that with Linux, adding memory makes a large difference, whereas 
        with dos, extra memory doesn't make that much difference. This 
        of course has something to do with DOS's 640KB limit. 

        0.3.3 Supported hardware 

        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. MCA (mostly true blue PS/2's) 
        does not work. Local busses (VLB and PCI) work. 

        RAM: Theoretically up to 1 GB. This has not been tested. Some 
        people (including Linus) have noted that adding ram without 
        adding more cache at the same time has slowed down their machine 
        extremely, so if you add memory and find your machine slower, 
        try adding more cache. Over 64MB will require a boot-time 
        parameter, as the BIOS cannot report more than 64MB, because it 
        is ``broken as designed.'' 

        Data storage: Generic AT drives (IDE, 16 bit HD controllers with 
        MFM or RLL) are supported, as are SCSI hard disks and CD-ROMs, 
        with a supported SCSI adaptor. Generic XT controllers (8 bit 
        controllers with MFM or RLL) are also supported. Supported SCSI 
        adaptors: Adaptec 1542, 1522, and 1740 in extended (not 1542 
        compatible) mode, Buslogic controllers via the Adaptek 
        compatibility or with their own driver, Seagate ST-01 and ST-02, 
        Future Domain TMC-88x series (or any board based on the TMC950 
        chip) and TMC1660/1680, Ultrastor 14F, 24F and 34F, and Western 
        Digital wd7000. SCSI and some QIC-02 and QIC-80 tapes are also 
        supported. Several CD-ROM devices are also supported, including 
        Matsushita/Panasonic, Mitsumi, Sony, Soundblaster, Toshiba, and 
        others. For exact models, check the hardware compatibility 
        HOWTO. 

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

        Networking: Western Digital 80x3, ne1000, ne2000, 3com501 (not 
        recommended), 3com503, 3com507, 3com509, 3com589 PCMCIA, Allied 
        Telliesis AT1500, most LANCE boards, d-link pocket adaptors, 
        SLIP, CSLIP, PLIP (Parallel Link IP), and more. 

        Other hardware: SoundBlaster, ProAudio Spectrum 16, Gravis 
        Ultrasound, AST Fourport cards (with 4 serial ports), several 
        models of Boca serial boards, the Usenet Serial Card II, several 
        flavours of bus mice (Microsoft, Logitech, PS/2). 

        0.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, because Linux tracks 
        POSIX quite closely. Unfortunately, there are not very many 
        end-user applications at this time. 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, Lucid Emacs, MicroEmacs, jove, epoch, elvis 
        (GNU vi), vim, vile, joe, pico, jed. 

        Shells: Bash (POSIX sh-compatible), zsh (include ksh 
        compatiblity mode), pdksh, tcsh, csh, rc, ash (mostly 
        sh-compatible), and many more. 

        Telecommunication: Taylor (BNU-compatible) UUCP, kermit, szrz, 
        minicom, pcomm, xcomm, term (runs multiple shells, redirects 
        network activity, and allows remote X, all over one modem line), 
        Seyon (popular X-windows communications program), and several 
        fax and voice-mail (using ZyXEL modems) packages are available. 
        Of course, remote serial logins are supported. 

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

        Textprocessing: TeX, groff, doc, ez. 

        Games: Nethack, several Muds and X games, and lots of others. 
        One of those games is looking through all the games available at 
        tsx-11 and sunsite. 

        Suites: AUIS, the Andrew User Interface System. 

        All of these programs (and this isn't even a hundredth of what 
        is available) are freely available. 

        0.5 Who uses Linux? 

        Linux is freely available, and no one is required to register 
        their copies with any central authority, so it is difficult to 
        know how many people use Linux. Several businesses are now 
        surviving solely on selling and supporting Linux, and very few 
        Linux users use those businesses, relatively speaking, and the 
        Linux newsgroups are some of the most heavily read on the 
        internet, so the number is likely in the hundreds of thousands, 
        but hard numbers are hard to come by. However, one brave soul, 
        Harald T. Alvestrand, has decided to try, and asks that if you 
        use Linux, you send a message to [email-masked] with 
        one of the following subjects: ``I use Linux at home'', ``I use 
        Linux at work'', or ``I use Linux at home and at work''. He is 
        also counting votes of ``I don't use Linux'', for some reason. 
        He posts his counts to comp.os.linux.misc. 

        0.6 Getting Linux 

        0.6.4 Anonymous FTP 

        Matt Welsh has released a new version of his Installation and 
        Getting Started guide, version 2.0. Also, the Linux 
        documentation project (the LDP) has put out several other books 
        in various states of completion, and these are available at 
        sunsite.unc.edu:/pub/Linux/docs/LDP. Stay tuned to 
        comp.os.linux.announce. 

        At least the following anonymous ftp sites carry Linux. 

         Textual name                   Numeric address  Linux directory
         =============================  ===============  ===============
         tsx-11.mit.edu                 18.172.1.2       /pub/linux
         sunsite.unc.edu                152.2.22.81      /pub/Linux
         ftp.funet.fi                   128.214.248.6    /pub/OS/Linux
         net.tamu.edu                   128.194.177.1    /pub/linux
         ftp.mcc.ac.uk                  130.88.203.12    /pub/linux
         src.doc.ic.ac.uk               146.169.2.1      /packages/linux
         fgb1.fgb.mw.tu-muenchen.de     129.187.200.1    /pub/linux
         ftp.informatik.tu-muenchen.de  131.159.0.110    /pub/comp/os/linux
         ftp.dfv.rwth-aachen.de         137.226.4.111    /pub/linux
         ftp.informatik.rwth-aachen.de  137.226.225.3    /pub/Linux
         ftp.ibp.fr                     132.227.60.2     /pub/linux
         kirk.bond.edu.au               131.244.1.1      /pub/OS/Linux
         ftp.uu.net                     137.39.1.9       /systems/unix/linux
         wuarchive.wustl.edu            128.252.135.4    mirrors/linux
         ftp.win.tue.nl                 131.155.70.100   /pub/linux
         ftp.stack.urc.tue.nl           131.155.2.71     /pub/linux
         srawgw.sra.co.jp               133.137.4.3      /pub/os/linux
         cair.kaist.ac.kr                                /pub/Linux
         ftp.denet.dk                   129.142.6.74     /pub/OS/linux
         NCTUCCCA.edu.tw                140.111.1.10     /Operating-Systems/Linux
         nic.switch.ch                  130.59.1.40      /mirror/linux
         monu1.monash.edu.au            130.194.1.101    /pub/linux
         cnuce_arch.cnr.it              131.114.1.10     /pub/Linux

        tsx-11.mit.edu and fgb1.fgb.mw.tu-muenchen.de are the official 
        sites for Linux' GCC. Some sites mirror other sites. Please use 
        the site closest (network-wise) to you whenever possible. 

        At least SunSite.unc.edu and ftp.informatik.tu-muenchen.de offer 
        ftpmail services. Mail [email-masked] or 
        [email-masked] for help. 

        If you are lost, try looking at 
        SunSite.unc.edu:/pub/Linux/distributions/, where several 
        distributions are offered. 

        0.6.5 Other methods of obtaining Linux 

        There are many BBS's that have Linux files. A list of them is 
        occasionally posted to comp.os.linux.announce. Ask friends and 
        user groups, or order one of the commmercial distributions. A 
        list of these is contained in the Linux distribution HOWTO, 
        available as 
        sunsite.unc.edu:/pub/Linux/docs/HOWTO/distribution-HOWTO, and 
        posted regularily to the comp.os.linux.announce newsgroup. 

        0.6.6 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 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. rtfm.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). 

        0.7 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 each have 
        their own copyright, although many of them use the GPL as well. 
        X uses the MIT X copyright, and some utilities are under the BSD 
        copyright. In any case, all of the software on the FTP site is 
        freely distributable (or else it shouldn't be there). 

        0.8 News About Linux 

        A new magazine called Linux Journal was recently launched. It 
        includes articles intended for almost all skill levels, and is 
        intended to be helpful to all Linux users. Subscriptions are 19 
        USD worldwide. Subscription inquiries can be sent via email to 
        [email-masked] or faxed to (U.S.) 1-206-527-2806 or mailed to 
        Linux Journal, PO Box 85867, Seattle, WA 98145-1867 USA. Please 
        do not send credit card numbers via email; the internet is not 
        secure, and it is entirely possible that a technologically adept 
        thief may steal your credit card number and cost you a large sum 
        of money if you do. 

        There are several Usenet newsgroups 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). 

        The newsgroup comp.os.linux.announce is a moderated newsgroup 
        for announcements about Linux (new programs, bug fixes, etc). 

        The newsgroup comp.os.linux.admin is an unmoderated newsgroup 
        for discussion of administration of Linux systems. 

        The newsgroup comp.os.linux.development is an unmoderated 
        newsgroup specifically for discussion of Linux kernel 
        development. The only application development questions that 
        should be discussed here are those that are intimately 
        associated with the kernel. All other development questions are 
        probably generic UNIX development questions and should be 
        directed to a comp.unix group instead. 

        The newsgroup comp.os.linux.help is an unmoderated newsgroup for 
        any Linux questions that don't belong anywhere else. 

        The newsgroup comp.os.linux.misc is the replacement for 
        comp.os.linux, and is meant for any discussion that doesn't 
        belong elsewhere. 

        In general, do not crosspost between the Linux newsgroups. The 
        only crossposting that is appropriate is an occasional posting 
        between one unmoderated group and comp.os.linux.announce. The 
        whole point of splitting comp.os.linux into many groups is to 
        reduce traffic in each. Those that do not follow this rule will 
        be flamed without mercy... 

        For the current status of the Linux kernel and a summary of the 
        most recent versions, finger [email-masked] 

        Linux is on the Web (WWW, W3, whatever...) The URL is 
        http://sunsite.unc.edu/mdw/linux.html 

        0.9 The Future 

        Now that Linux 1.0 has been released, work is already in 
        progress on several enhancements. Disk access speedups, TTY 
        improvements, and many more things are being worked on. Linux 
        1.0 is not the end of Linux, nor is it even very important; it 
        is mostly intended to provide a stable version that people can 
        use without being afraid that they are using beta software, and 
        that can be standardized on to some extent. 

        There is plenty of code left to write, and even more 
        documentation. Please join the DOC channel of the mailing list 
        if you would like to contribute to the documentation. 

        0.10 This document 

        This document is maintained by Michael K. Johnson, 
        [email-masked]. Please mail me with any comments, no 
        matter how small. I can't do a good job of maintaining this 
        document without your help. A more-or-less current copy of this 
        document can always be found as 
        tsx-11.mit.edu:/pub/linux/docs/INFO-SHEET, and a DVI version can 
        be found as INFO-SHEET.dvi, in the same directory. 

        0.11 Legalese 

        Trademarks are owned by their owners. There is no warranty about 
        the information in this document. Use and distribute at your own 
        risk. The content of this document is in the public domain, but 
        please be polite and attribute any quotes.