Newsgroups: comp.os.linux.announce,comp.os.linux,news.answers Subject: Linux INFO-SHEET Keywords: linux info Approved: linux-announce@tc.cornell.edu (Matt Welsh) Archive-name: linux-faq/info-sheet Last-modified: 9 Feb 93 Version: 2.03 LINUX INFORMATION SHEET by Lars Wirzenius (lars.wirzenius@helsinki.fi) and maintained by Matt Welsh (mdw@tc.cornell.edu). 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 and comp.os.linux.announce newsgroups. This document is now written/maintained by Matt Welsh, write him if you have changes, additions, or questions. 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 January 21, 1993 the current version is 0.99 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) * 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: For a really complete list of Linux's hardware support, see the Linux Hardware Compatibilty list put together by Zane Healy (healyzh@holonet.net). It's posted every now and then to comp.os.linux.announce. 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), the 1740 in extended (not 1542 compatible) 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 wd7000. SCSI and QIC-02 tapes. 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), and Seyon. News and mail: C-news, trn, nn, tin, smail, elm. Textprocessing: TeX, groff. Games: Nethack, several Muds and X games. 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 ftp.ibp.fr 132.227.60.2 /pub/linux kirk.bu.oz.au 131.244.1.1 /pub/OS/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 ftp.stack.urc.tue.nl 131.155.2.71 /pub/linux srawgw.sra.co.jp /Linux ftp.ibr.cs.tu-bs.de 134.169.34.15 /pub/os/linux cair.kaist.ac.kr /pub/Linux ftp.denet.dk 129.142.6.74 /pub/OS/linux tsx-11 and fgb1 are the official sites for Linux' GCC. Some sites mirror other sites. Please use the site closest (network-wise) to you. 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 easiest and most important release to install is the SLS release. SLS is put together by Peter MacDonald, and has more or less all of the software you'll ever need, including X Windows. You can install only those parts of the SLS package that you want on your system. I really recommend SLS to anyone who's serious about getting started with Linux. The MCC release at this point is VERY dated and you'll have to upgrade everything as it is. Also note that the MCC Interim release is NOT going to be updated again. Other releases, such as the boot/root disks, are usually more recent, but only contain the essential system software and you generally have to install them by hand. 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). The newsgroup comp.os.linux.announce is a moderated newsgroup for announcements about Linux (new programs, bug fixes, etc). 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.announce 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 advanced interprocess communication (semaphores, shared memory), closer compatibility with POSIX, and a lot of tweaking. Documentation is also sorely missing, but is being worked on by those on the "Linux Documentation Project" (the DOC channel of the linux-activists mailing list). By April 1993 there should be a complete installation and getting started manual for Linux. 9. Legalese Trademarks are owned by their owners. There is no warranty about the information in this document.