1. Introduction and General Information

1.1 What is Linux?

Linux is the free Unix written from scratch by Linus Torvalds with assistance from a loosely-knit team of hackers from across the Internet. Linux aims towards POSIX compliance, and has all of the features you would expect of a modern, fully fledged Unix: true multitasking, virtual memory, shared libraries, demand loading, shared, copy-on-write executables, proper memory management, and TCP/IP networking.

Linux runs mainly on 386/486/586-based PC's, using the hardware facilities of the 80386 processor family (TSS segments, et al.) to implement these features. Ports to other architectures are underway. (See, `` What ports to other processors are there? '')

See the Linux INFO-SHEET for more details. (`` Where can I get the HOWTO's and other documentation? '')

The Linux kernel is distributed under the GNU General Public License. (`` Is Linux public domain? Copyrighted? '')


1.2 Where do I start?

There are a handful of major Linux distributions. For information about them, and how they are installed, see Matthew Welsh's Installation and Getting Started, or IGS for short. It's located at the Linux Documentation Project Home Page, http://sunsite.unc.edu/LDP.

There is also an Installation HOWTO on the LDP Home Page.

Most of the distributions are available via anonymous FTP from various Linux archive sites. (`` Where can I get Linux material by FTP? '') There are also a large number of other releases which are distributed less globally that suit special local and national needs.


1.3 What software does Linux support?

Linux supports GCC, Emacs, the X Window System, all the standard Unix utilities, TCP/IP (including SLIP and PPP), and all of the hundreds of programs that people have compiled or ported to it.

There is a DOS emulator, called DOSEMU. The latest stable release is 0.98.1. The FTP archives are at ftp://ftp.dosemu.org/dosemu. The Web site is htmlurl url="http://www.dosemu.org" name="http://www.dosemu.org">.

The emulator can run DOS itself and some (but not all) DOS applications. Be sure to look at the README file to determine which version you should get. Also, see the DOSEMU-HOWTO (slightly dated at this point--it doesn't cover the most recent version of the program), at sunsite.unc.edu/pub/Linux/docs/HOWTO.

Work has been progressing on an emulator for Microsoft Windows binaries. (`` Can I run Microsoft Windows programs under Linux? '')

iBCS2 (Intel Binary Compatibility Standard) emulator code for SVR4 ELF and SVR3.2 COFF binaries can be included in the kernel as a compile-time option. There is information at tsx-11.mit.edu/pub/linux/BETA/ibcs2/README.

For more information see the INFO-SHEET, which is one of the HOWTO's (`` Where can I get the HOWTO's and other documentation? '' and, `` How do I port XXX to Linux? '')

Some companies have commercial software available, including Motif. They announce their availability in comp.os.linux.announce--try searching the archives. (`` Are the newsgroups archived anywhere? '')


1.4 Does Linux run on my computer? What hardware is supported?

Giving Linux a try requires a machine with an Intel '386, '486, or '586 processor with at least 2Mb of RAM and a single floppy drive. To do anything useful, more RAM and disk space is needed. (`` How much memory does Linux need? '')

VESA Local Bus and PCI are supported.

MCA (IBM's proprietary bus) and ESDI hard drives are mostly supported. There is further information on the MCA bus and what cards Linux supports on the Micro Channel Linux Web page, http://glycerine.itsmm.uni.edu/mca.

Linux runs on '386 family based laptops, with X on most of them. There is a Web page at http://www.cs.utexas.edu/users/kharker/linux-laptop/.

For details of exactly which PC's, video cards, disk controllers, etc. work see the INFO-SHEET and the Hardware-HOWTO. (See `` Where can I get the HOWTO's and other documentation? '')

There is a port of Linux to the 8086, known as the Embeddable Linux Kernel Subset (ELKS). This is a 16-bit subset of the Linux kernel which will mainly be used for embedded systems. See http://www.linux.org.uk/Linux8086.html for more information. Linux will never run fully on an 8086 or '286, because it requires task-switching and memory management facilities not found on these processors.

Linux supports multiprocessing with Intel MP architecture. See the file Documentation/smp.tex in the Linux kernel source code distribution.

See the next question for a (probably incomplete) list of hardware platforms Linux has been ported to.


1.5 What ports to other processors are there?

There is a reasonably complete list of Linux ports at http://www.ctv.es/USERS/xose/linux/linux_ports.html, and at http://www.linuxhq.com/dist-index.html.

A project has been underway for a while to port Linux to suitable 68000-series based systems like Amigas and Ataris. The Linux/m68K FAQ is located at www.clark.net/pub/lawrencc/linux/faq/faq.html. The URL of the Linux/m68k home page is www.linux-m68k.

There is a linux-680x0 mailing list. (`` What mailing lists are there? '')

There is (or was) a FTP site for the Linux-m68k project on ftp.phil.uni-sb.de/pub/atari/linux-68k, but this address may no longer be current.

Debian GNU/Linux is being ported to Alpha, Sparc, PowerPC, and ARM platforms. There are mailing lists for all of them. See http://www.debian.org/MailingLists/subscribe.

One of the Linux-PPC project pages has moved recently. Its location is http://www.linuxppc.org, and the archive site is ftp.linuxppc.org/linuxppc.

There is a Linux-PPC support page at www.cs.nmt.edu/~linuxppc/. There you will find the kernel that is distributed with Linux.

Apple now supports MkLinux development on Power Macs, based on OSF and the Mach microkernel. See http://www.mklinux.apple.com.

A port to the 64-bit DEC Alpha/AXP is at http://www.azstarnet.com/~axplinux/. There is a mailing list at vger.rutgers.edu. (`` What mailing lists are there? '')

Ralf Baechle is working on a port to the MIPS, initially for the R4600 on Deskstation Tyne machines. The Linux-MIPS FTP sites are ftp.fnet.fr/linux-mips and ftp://ftp.linux.sgi.com/pub/mips-linux. Interested people may mail their questions and offers of assistance to linux@waldorf-gmbh.de.

There is also a MIPS channel on the Linux Activists mail server and a linux-mips mailing list. (`` What mailing lists are there? '')

There are currently two ports of Linux to the ARM family of processors. One of these is for the ARM3, fitted to the Acorn A5000, and it includes I/O drivers for the 82710/11 as appropriate. The other is to the ARM610 of the Acorn RISC PC. The RISC PC port is currently in its early to middle stages, owing to the need to rewrite much of the memory handling. The A5000 port is in restricted beta testing. A release is likely soon.

For more, up-to-date information, read the newsgroup comp.sys.acorn.misc. There is a FAQ at http://www.arm.uk.linux.org

The Linux SPARC project is a hotbed of activity. There is a FAQ available from Jim Mintha's Linux for SPARC Processors page, http://www.geog.ubc.ca/sparclinux.html. The SPARC/Linux archives are at vger.rutgers.edu/pub/linux/Sparc.

There is also a port (``Hardhat'') to SGI/Indy machines. The URL is http://www.linux.sgi.com.


1.6 How much hard disk space does Linux need?

About 10Mb for a very minimal installation, suitable for trying Linux, and not much else.

You can fit an installation that includes X into 80Mb. Installing Debian GNU/Linux takes 500Mb--1GB, including kernel source code, some space for user files, and spool areas.


1.7 How much memory does Linux need?

At least 4MB, and then you will need to use special installation procedures until the disk swap space is installed. Linux will run comfortably in 4MB of RAM, although X Windows Apps will run slowly because they need to swap out to disk.

Some recent applications, like Netscape, require 64MB of physical memory.


1.8 How much memory can Linux use?

A number of people have asked how to address more than 64 MB of memory, which is the default upper limit. Place the following in your lilo.conf file:

Where "XX" is the amount of memory, specified as megabytes; for example, '128M'. For further details, see the lilo manual page.


1.9 Is Linux public domain? Copyrighted?

The Linux kernel copyright belongs to Linus Torvalds. He has placed it under the GNU General Public License, which basically means that you may freely copy, change, and distribute it, but you may not impose any restrictions on further distribution, and you must make the source code available.

This is not the same as Public Domain. See the Copyright FAQ, rtfm.mit.edu/pub/usenet/news.answers/law/copyright, for details.

Full details are in the file COPYING in the Linux kernel sources (probably in /usr/src/linux on your system).

The licenses of the utilities and programs which come with the installations vary. Much of the code is from the GNU Project at the Free Software Foundation, and is also under the GPL.

Note that discussion about the merits or otherwise of the GPL should be posted to the news group gnu.misc.discuss, and not to the comp.os.linux hierarchy.