# Getting Linux

In this section we'll cover how to obtain the Linux software.

### Linux Distributions

Before you can install Linux, you need to decide on one of the ``distributions'' of Linux which are available. There is no single, standard release of the Linux software---there are many such releases. Each release has its own documentation and installation instructions.

Linux distributions are available both via anonymous FTP and via mail order on diskette, tape, and CD-ROM. The Linux Distribution HOWTO (see `sunsite.unc.edu` in the file `/pub/Linux/docs/HOWTO/Distribution-HOWTO`) includes a list of many Linux distributions available via FTP and mail order.

The release of Linux covered in this HOWTO is the Slackware distribution, maintained by Patrick J. Volkerding (`volkerdi@mhd1.moorhead.msus.edu`). It is one of the most popular distributions available; it is very up-to-date and includes a good amount of software including X-Windows, TeX, and others. The Slackware distribution consists of a number of ``disk sets'', each one containing a particular type of software (for example, the `d` disk set contains development tools such as the `gcc` compiler, and so forth). You can elect to install whatever disk sets you like, and can easily install new ones later.

Slackware is also easy to install; it is very self-explanatory. (So self-explanatory, in fact, that this HOWTO may not be necessary.)

The version of Slackware described here is 1.2.0, of 22 March 1994. Installation of later versions of Slackware should be very similar to the information given here.

Information on other releases can be found in the Linux Installation and Getting Started manual from the LDP. You can also find other releases of Linux on various FTP sites, including `sunsite.unc.edu:/pub/Linux/distributions` See the Distribution-HOWTO (mentioned above) for details.

The instructions here should be general enough to be applicable to releases other than Slackware. I hate to be biased towards a single release, but I don't have time to keep up with them all! And Slackware appears to have what most Linux users are looking for.

### Slackware Space Requirements

Unfortunately, Slackware does not maintain a complete list of diskspace requirements for each disk set. You need at least 7 megabytes to install just the A series of disks; a very rough estimate of the required diskspace would be 2 or 2.5 megabytes per disk.

The following disk sets are available:

A
  The base system. Enough to get up and running and have elvis and comm programs available. Based around the 1.0 Linux kernel, and the new filesystem standard (FSSTND). These disks are known to fit on 1.2M disks, although the rest of Slackware won't. If you have only a 1.2M floppy, you can still install the base system, download other disks you want and install them from your hard drive.
AP
  Various applications and add ons, such as the manual pages, `groff`, `ispell` (GNU and international versions), `term`, `joe`, `jove`, `ghostscript`, `sc`, `bc`, and the quota patches.
D
  Program development. GCC/G++/Objective C 2.5.8, `make` (GNU and BSD), `byacc` and GNU `bison`, `flex`, the 4.5.19 C libraries, `gdb`, kernel source for 1.0, `SVGAlib`, `ncurses`, `clisp`, `f2c`, `p2c`, `m4`, `perl`, `rcs`.
E
  GNU Emacs 19.22.
F
  A collection of FAQs and other documentation.
I
  Info pages for GNU software. Documentation for various programs readable by `info` or Emacs.
N
  Networking. TCP/IP, UUCP, `mailx`, `dip`, `deliver`, `elm`, `pine`, `smail`, `cnews`, `nn`, `tin`, `trn`.
OOP
  Object Oriented Programming. GNU Smalltalk 1.1.1, and the Smalltalk Interface to X. (STIX)
TCL
  Tcl, Tk, TclX, blt, itcl.
Y
  Games. The BSD games collection, and Tetris for terminals.
X
  The base XFree86 2.0 system, with `libXpm`, `fvwm` 1.20, and `xlock` added.
XAP
  X applications: X11 `ghostscript`, `libgr13`, `seyon`, `workman`, `xfilemanager`, `xv` 3.00, GNU `chess` and `xboard`, `xfm` 1.2, `ghostview`, and various X games.
XD
  X11 program development. X11 libraries, server linkkit, PEX support.
XV
  Xview 3.2 release 5. XView libraries, and the Open Look virtual and non-virtual window managers.
IV
  Interviews libraries, include files, and the `doc` and `idraw` apps. These run unreasonably slow on my machine, but they might still be worth looking at.
OI
  ParcPlace's Object Builder 2.0 and Object Interface Library 4.0, generously made available for Linux developers according to the terms in the "copying" notice found in these directories.
T
  TeX support. Since many people have asked about TeX, I borrowed the 3 TeX disks from SLS and went through them changing the filesystem structure somewhat and fixing permissions. You can take this as a sign that Slackware TeX support may continue to improve.

You must get the ```a`'' disk set; the rest are optional. I suggest at least installing the `a`, `ap`, and `d` sets, as well as the `x` set if you plan to run X Windows.

### Getting Slackware via Mail Order

Slackware is available for free from the Internet, as well as via mail order (if you don't have Internet access, or don't want to take the time to download it yourself). The next section describes how to download Slackware from the Internet.

The various mail order distributors for Slackware (and other Linux distributions) are listed in the Linux Distribution HOWTO, from `sunsite.unc.edu` in the directory `/pub/Linux/docs/HOWTO`.

### Getting Slackware from the Internet

The Slackware release of Linux may be found on any number of FTP sites worldwide. The Linux META-FAQ lists several of the Linux FTP sites; we suggest that you try to find the software on the FTP site nearest you, to reduce net traffic. However, two of the major Linux FTP sites are `sunsite.unc.edu` and `tsx-11.mit.edu`.

The Slackware release may be found on the following FTP sites:

- `sunsite.unc.edu:/pub/Linux/distributions/slackware`
- `tsx-11.mit.edu:/pub/linux/packages/slackware`
- `ftp.cdrom.com:/pub/linux/slackware`

`ftp.cdrom.com` is Slackware's home site.

### Downloading the files

You need to download the following files from the FTP sites listed above. Make sure that you use binary mode when FTPing them!

- The various `README` files, as well as `SLACKWARE_FAQ`. Be sure to read these files before attempting to install the software, to get any updates or changes to this document.
- A bootdisk image. This is a file that you will write to a floppy to create the Slackware boot disk. If you have a 1.44 megabyte boot floppy (3.5"), look in the directory `install/1_44meg/bootdisks`. If you have a 1.2 megabyte boot floppy (5.25"), look in the directory `install/1_2meg/bootdisks`. The `README` files in these directories describes what the files are. You need one of the following files:
  - `bare.gz`. This is a boot floppy that has only IDE hard drive drivers. (No SCSI, CD-ROM, or networking support.) Use this if you only have an IDE hard drive controller and aren't going to be installing over the network or from CD-ROM.
  - `xt.gz`. This is a boot floppy with IDE and XT hard drive support.
  - `cd.gz`. Contains IDE hard drive and non-SCSI CD-ROM drivers. Get this if you're going to be installing from a (non-SCSI) CD-ROM (only relevant if you bought a Slackware CD-ROM of some kind).
  - `cdscsi.gz`. Contains IDE and SCSI hard drive support, and non-SCSI CD-ROM drivers.
  - `scsi.gz`. Contains IDE and SCSI hard drive support, and SCSI CD-ROM drivers.
  - `net.gz`. Contains IDE hard drive and TCP/IP networking support. Get this if you are going to install over the network using NFS.
  - `scsinet.gz`. Contains IDE and SCSI hard drive support, SCSI CD-ROM drivers, and TCP/IP networking support. You might want to try this one first; use `bare.gz` or one of the other boot floppies if this doesn't work for you.
  You need only one of the above bootdisk images, depending on the type hardware that you have in your system. The issue here is that some hardware drivers conflict with each other in strange ways, and instead of attempting to debug hardware problems on your system it's easier to use a boot floppy image with only certain drivers enabled. Most users should try `scsi.gz` or `bare.gz`.
- A rootdisk image. This is a file that you will write to a floppy to create the Slackware installation disk. As with the bootdisk image, look in `install/1_44meg/rootdisks` or `install/1_2meg/rootdisks` depending on the type of boot floppy drive that you have. You need one of the following files:
  - `color144.gz`. The menu-based color installation disk for 1.44 meg drives. Most users should use this rootdisk.
  - `tty144.gz`. The terminal-based installation disk for 1.44 meg drives. You should use `color144.gz`, but a few people have reported problems with it on their system. If `color144.gz` doesn't work for you, try `tty144.gz` instead. It is a bit dated and the installation procedure isn't identical, but it should work if `color144.gz` doesn't.
  - `colrlite.gz`. The menu-based color installation disk for 1.2 meg drives. Some things have been trimmed off of this disk to make it fit on a 1.2 meg floppy, but it should work if you only have a 1.2 meg drive.
  - `tty12.gz`. The terminal-based installation disk for 1.2 meg drives. Use this rootdisk if you have a 1.2 meg boot floppy and `colrlite.gz` doesn't work for you.
  Again, you need only one of the above rootdisk images, depending on the type of boot floppy drive that you have.
- `GZIP.EXE`. This is an MS-DOS executable of the `gzip` compression program used to compress the boot and rootdisk files (the `.gz` extension on the filenames indicates this). This can be found in the `install` directory.
- `RAWRITE.EXE`. This is an MS-DOS program that will write the contents of a file (such as the boot and rootdisk images) directly to a floppy, without regard to format. You will use `RAWRITE.EXE` to create the boot and root floppies. This can be found in the `install` directory as well. You only need `RAWRITE.EXE` and `GZIP.EXE` if you plan to create the boot and root floppies from an MS-DOS system. If you have access to a UNIX workstation with a floppy drive instead, you can create the floppies from there, using the `dd` command. See the man page for `dd` and ask your local UNIX gurus for assistance.
- The files in the directories `a1`, `a2`, and `a3`. These files make up the ```a`'' disk set of the Slackware distribution. They are required. Later, you will copy these files to MS-DOS floppies for installation (or, you can install from your hard drive). Therefore, when you download these files, keep them in separate directories; don't mix the `a1` files with the `a2` files, and so on. Be sure that you get the files without periods in the filenames as well. That is, within FTP, use the command ```mget *`'' instead of ```mget *.*`''.
- The files in the directories `ap1`, `ap2`, etc., depending on what disk sets you are installing. For example, if you are installing the ```x`'' disk series, get the files in the directories `x1` through `x5`. As with the ```a`'' disk set, above, be sure to keep the files in separate directories when you download them.

### Installation methods

Slackware provides several different means of installing the software. The most popular is installing from an MS-DOS partition on your hard drive; the other is to install from a set of MS-DOS floppies created from the disk sets that you downloaded.

You can also install Slackware from an NFS-mounted filesystem over a TCP/IP network. This is somewhat involved, however, and a discussion of how to do this is out of the range of this document. If you need help, ask your local UNIX gurus how to set up your system to mount an NFS filesystem which you can install Slackware from. (For this, you'll need another system on the network which has Slackware available on an exported filesystem.)

First we'll describe how to create the boot and root floppies, and then we'll describe how to set things up for either a hard drive or floppy installation.

### Creating the boot and root floppies

You must create floppies from the bootdisk and rootdisk images that you downloaded, no matter what type of installation you will be doing. This is where the MS-DOS programs `GZIP.EXE` and `RAWRITE.EXE` come into play.

First you must uncompress the bootdisk and rootdisk images using `GZIP.EXE` (on an MS-DOS system, of course). For example, if you're using the `bare.gz` bootdisk image, issue the MS-DOS command:

> `C:\> GZIP -D BARE.GZ`

which will uncompress `bare.gz` and leave you with the file `bare`. You must similarly uncompress the rootdisk image. For example, if you are using the rootdisk `color144.gz`, issue the command:

> `C:\> GZIP -D COLOR144.GZ`

which will uncompress the file and leave you with `color144`.

Next, you must have two high-density MS-DOS formatted floppies. (They must be of the same type; that is, if your boot floppy drive is a 3.5" drive, both floppies must be high-density 3.5" disks.) You will use `RAWRITE.EXE` to write the boot and rootdisk images to the floppies.

For example, if you're using the `bare.gz` bootdisk, use the command:

> `C:\> RAWRITE`

Answer the prompts for the name of the file to write (such as `BAREBOOT`) and the floppy to write it to (such as `A:`). `RAWRITE` will copy the file, block-by-block, directly to the floppy. Also use `RAWRITE` for the root disk image (such as `COLOR144`). When you're done, you'll have two floppies: one containing the boot disk, the other containing the root disk. Note that these two floppies will no longer be readable by MS-DOS (they are ``Linux format'' floppies, in some sense).

Be sure that you're using brand-new, error-free floppies. The floppies must have no bad blocks on them.

Note that you do not need to be running MS-DOS in order to install Slackware. However, running MS-DOS makes it easier to create the boot and root floppies, and it makes it easier to install the software (as you can install directly from an MS-DOS partition on your system). If you are not running MS-DOS on your system, you can use someone else's MS-DOS system just to create the floppies, and install from there.

It is not necessary to use `GZIP.EXE` and `RAWRITE.EXE` under MS-DOS to create the boot and root floppies, either. You can use the `gzip` and `dd` commands on a UNIX system to do the same job. (For this, you will need a UNIX workstation with a floppy drive, of course.) For example, on a Sun workstation with the floppy drive on device `/dev/rfd0`, you can use the commands:

> `

>     $ gunzip bare.gz
>     $ dd if=bare of=/dev/rfd0 obs=18k

> `

You must provide the appropriate block size argument (the `obs` argument) on some workstations (e.g., Suns) or this will fail. If you have problems the man page for `dd` will be instructive.

### Preparing for hard drive installation

If you're planning on installing the Slackware software directly from the hard drive (which is much faster and more reliable than a floppy installation), you will need an MS-DOS partition on the system that you're installing Slackware to. (That is, you must already be running MS-DOS on the system.)

To prepare for hard drive installation, simply create a directory on the hard drive to store the Slackware files. For example,

> `C:\> MKDIR SLACKWAR`

will create the directory `C:\SLACKWAR` to hold the Slackware files. Under this directory, you should create the subdirectories `A1`, `A2`, and so on, for each disk set that you downloaded. All of the files from the `A1` disk should go into the directory `SLACKWAR\A1`, and so forth.

Now you're ready to go on and install the software; skip to the section ``Installing the Software''.

### Preparing for floppy installation

If you wish to install Slackware from floppies instead of the hard drive, you'll need to have one blank, MS-DOS formatted floppy for each Slackware disk that you downloaded. These disks must be high-density format.

The `A` disk set (disks `A1` through `A3`) may be either 3.5" or 5.25" floppies. However, the rest of the disk sets must be 3.5" disks. Therefore, if you only have a 5.25" floppy drive, you'll need to borrow a 3.5" drive from someone in order to install disk sets other than `A`. (Or, you can install from the hard drive, as explained in the previous section.)

To make the disks, simply copy the files from each Slackware directory onto an MS-DOS formatted floppy, using the MS-DOS `COPY` command. As so:

> `C:\> COPY A1\*.* A:`

will copy the contents of the `A1` disk to the floppy in drive `A:`. You should repeat this for each disk that you downloaded.

You do not need to modify or uncompress the files on the disks in any way; you merely need to copy them to MS-DOS floppies. The Slackware installation procedure takes care of uncompressing the files for you.