From:     Digestifier <Linux-Admin-Request@senator-bedfellow.mit.edu>
To:       Linux-Admin@senator-bedfellow.mit.edu
Reply-To: Linux-Admin@senator-bedfellow.mit.edu
Date:     Fri, 8 Oct 93 18:24:56 EDT
Subject:  Linux-Admin Digest #98

Linux-Admin Digest #98, Volume #1                 Fri, 8 Oct 93 18:24:56 EDT

Contents:
  Linux Installation HOWTO (Matt Welsh)

----------------------------------------------------------------------------

From: mdw@sunsite.unc.edu (Matt Welsh)
Crossposted-To: comp.os.linux.announce,comp.os.linux.help,news.answers,comp.answers
Subject: Linux Installation HOWTO
Date: 8 Oct 1993 21:05:43 GMT

Archive-name: linux/howto/installation
Last-modified: 23 August 1993

The Linux Installation HOWTO
by Matt Welsh, <mdw@sunsite.unc.edu>
v1.1, Last Modified 23 August 1993
============================================================================

This document describes how to obtain and install the Linux software. 
It is the first document which a new Linux user should read to get
started. 

0. Introduction
        Linux is a freely-distributable implementation of UNIX for 80386 and
        80486 machines. It supports a wide range of software, including
        X Windows, Emacs, TCP/IP networking (including SLIP), the works. 
        This document assumes that you have heard of and know about Linux, 
        and just want to sit down and install it. 


0.1 Other sources of information
        If you have never heard of Linux before, there are several sources
        of basic information about the system. One is the Linux FAQ,
        available from sunsite.unc.edu:/pub/Linux/docs. This directory
        contains many other documents about Linux, including the Linux 
        INFO-SHEET and META-FAQ, both of which are good introductory documents
        about Linux. Also take a look at the USENET newsgroups comp.os.linux 
        and comp.os.linux.announce. 

        Another source of online Linux documentation is the Linux HOWTO
        archive, on sunsite.unc.edu:/pub/Linux/docs/HOWTO. The file INDEX
        in that directory explains what Linux HOWTOs are available.

        The Linux Documentation Project is writing a set of manuals and books
        about Linux, all of which are freely distributable on the net. 
        The directory /pub/Linux/docs/LDP on sunsite.unc.edu contains the
        current set of LDP manuals. 

        The book ``Linux Installation and Getting Started'' is a complete
        guide to getting and installing Linux, as well as how to use the 
        system once you've installed it. It contains a complete tutorial
        to using and running the system, and much more information than
        is contained here. This HOWTO is simply a condensation of some of
        the most important information in that book. You can get
        ``Linux Installation and Getting Started'' from sunsite.unc.edu in
        /pub/Linux/docs/LDP/install-guide.


0.2 New versions of this document
        New versions of the Linux Installation HOWTO will be periodically
        posted to comp.os.linux.announce, comp.os.linux, and news.answers.
        They will also be uploaded to various Linux FTP sites, including 
        sunsite.unc.edu:/pub/Linux/docs/HOWTO.


0.3 Feedback
        If you have questions or comments about this document, please feel
        free to mail the author, Matt Welsh, at mdw@sunsite.unc.edu. I welcome
        any suggestions, criticism, cheques, or money orders. If you find
        a mistake with this document, please let me know so I can correct it
        in the next version. Thanks.


1. Hardware Requirements
        What kind of system is needed to run Linux? Any ISA, EISA or VESA
        Local Bus 80386 or 80486 system will do. Currently, the MicroChannel
        (MCA) architechture (found on IBM PS/2 machines) is not supported.
        Any CPU from the 386SX to the 486DX2 will work. You do not need a
        math coprocessor, although it is nice to have one.

        You need at least 4 megabytes of memory in your machine. Technically,
        Linux will run with only 2 megs, but most installations and software
        require 4. The more memory you have, the happier you'll be. 

        Of course, you'll need a hard drive and an AT-standard drive 
        controller. All MFM, RLL, and IDE drives and controllers should work. 
        Many SCSI drives and adaptors are supported as well; the Linux FAQ 
        (see above) contains more inforamation on SCSI.

        Linux can actually run on a single 5.25" HD floppy, but that's only 
        useful for installation and maintenance. 

        Free space on your hard drive is needed as well. The amount of
        space needed depends on how much software you plan to install. Most
        installations require somewhere in the ballpark of 40 to 80 megs. 
        This includes space for the software, swap space (used as virtual
        RAM on your machine), and free space for users, and so on.

        It's conceiveable that you could run a minimal Linux system in 10
        megs or less, and it's conceiveable that you could use well over
        100 megs or more for all of your Linux software. The amount varies
        greatly depending on the amount of software you install and how
        much space you require. More about this later. 

        Linux will co-exist with other operating systems, such as MS-DOS,
        Microsoft Windows, or OS/2, on your hard drive. (In fact you can even
        access MS-DOS files and run some MS-DOS programs from Linux.)
        In other words, when partitioning your drive for Linux, MS-DOS
        or OS/2 live on their own partitions, and Linux exists on its
        own. We'll go into more detail later.

        You also need a Hercules, CGA, EGA, VGA, or Super VGA video card and 
        monitor.  In general, if your video card and monitor work under MS-DOS
        then it should work under Linux. However, if you wish to run
        X Windows, there are other restrictions on the supported video 
        hardware. The Linux FAQ contains more information about X Windows.

        In all, the suggested setup for Linux is not much more than is
        required for most MS-DOS or MS Windows systems sold today. If you
        have a 386 or 486 with at least 4 megs of RAM, then you'll be 
        happy running Linux. Linux does not require huge amounts of
        diskspace, memory, or processor speed. I run Linux on a crappy
        386/16 MHz (the slowest machine you can get) with 4 megs of RAM, 
        and am quite happy.


2. Getting Linux

2.1 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.

        The most popular release of Linux is the Softlanding Linux System
        release, or SLS. Most Linux users worldwide use SLS---it is one
        of the most complete and easy-to-install releases available.
        It consists of about 30 disks, divided up into a number of
        disk "series" which contain differnt types of software. For 
        example, the c disk series contains compilers and programming
        utilities, and the x disk series contains the X Windows software.
        You pick and choose which disks and packages you want to install.

        This document focuses on getting and installing the SLS release,
        because it is so popular. 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.

        The instructions here should be generasl enough to be applicable to
        releases other than SLS. I hate to be biased towards a single
        release, but I don't have time to keep up with them all!


2.2 SLS Space Requirements
        The following series of SLS disks are available.

                a1-aN: The minimal base system
                b1-bN: Base system extras, like man pages, emacs etc.
                c1-cN: The compiler(s), gcc/g++/p2c/f2c
                x1-xN: The X-windows distribution (+idraw and doc)
                t1-tN: TeX (document processing)
                s1-sN: Source code for critical system components
                d1-dN: Documentation for various things

        You must get the "a" series diskettes; the rest are optional.
        I suggest at least installing the a, b, and c series, as well
        as the x series if you plan to run X Windows.

        Approximate disk space requirements are:

                Tiny base system:       15 Meg  (Only a)
                Main base system:       45 Meg  (a, b and c)
                Main base system + X11: 70 Meg  (a, b, c and x)
                Full system:            90 Meg  (a, b, c, d, s, t and x)


2.3 Getting the SLS Release from the Internet
        The SLS 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 SLS release may be found on
                sunsite.unc.edu:/pub/Linux/SLS
        as well as
                tsx-11.mit.edu:/pub/linux/packages/SLS


2.3.1 Downloading the files
        You need to download the following files. Make sure that you use
        binary mode when FTPing these files!

        * READ.ME, RELEASE, and SLS.FAQ. These files are text files giving
          up-to-date information on the latest release of SLS.

        * a1.3 or a1.5. These are binary images of the SLS "a1" boot disk.
          If you have a 3.5" boot floppy drive on your system, get a1.3. 
          If you have a 5.25" boot drive, get a1.5. 

        * rawrite.exe. This is an MS-DOS program used to create the SLS
          a1 disk from the a1.3 or a1.5 image. On tsx-11.mit.edu, this
          program is found in 
                /pub/linux/dos_utils/rawrite.exe
          And on sunsite.unc.edu, it is found in
                /pub/Linux/system/Install/rawrite2.exe

          (Note that "rawrite2.exe" is a newer version of rawrite which is
          faster, but doesn't work on all drives. If you have problems with
          it, try the other version.)

        * The files in the directories a2, a3, and a4. These files will
          be copied later to MS-DOS disks; they make up the a2, a3, and a4
          disks in the SLS series. When downloading these files, keep them
          in separate directories; that is, don't mix the a2 files up with
          the a3 files, and so on.

          Make sure that you get the file "diska2", "diska3", and so on on
          each disk. In FTP, if you use "mget *.*", you will probably
          miss files without a "." in the filename. Therefore, use "mget *"
          to get all files.

        * Files in the directories b1, b2, etc., depending on what disk
          series you are installing. For example, if you are installing the
          'b' disk series, get the files in the directories b1 through b7.
          As with a2-a4, above, be sure to keep the files in separate 
          directories when you download them.

2.3.2 Making the disks
        Once you have the files downloaded, you need to create the install
        disks. The a1 disk needs to be the type of disk that you boot from;
        i.e., either a high-density 3.5" disk or a high-density 5.25"
        disk. The disk must be MS-DOS formatted. Also be sure to use a
        brand-new floppy if possible; bad blocks on the floppy will cause
        you much trouble later.

        To create the a1 disk, run the "rawrite" program from MS-DOS. It 
        will prompt you for the file to write to the disk (such as a1.3
        or a1.5) and the disk to write it to (such as A: or B:). 
        After the disk has been written, it will no longer be recognized
        by MS-DOS; it is complete overlaid with the SLS a1 image.

        To create the rest of the SLS, disks, simply use the MS-DOS
        "copy" command. All of the rest of the SLS install disks must
        be of the same type (either HD 3.5" or HD 5.25"), but they do not
        need to be the same type as the a1 disk. All of the disks must
        be MS-DOS formatted before you begin.

        For example, to create the a2 disk, simply copy the files from 
        the directory "a2" to the floppy, with the command
                C:\> copy a2\*.* A:

        Do likewise for every disk that you downloaded.

        NOTE: It is possible to install SLS from the hard drive. If you
        have all of the SLS disk images (a2, a3, a4, and so on) in the
        directory "\install" on the MS-DOS partition on your drive, you 
        can install from there (and you don't need to copy all of the files 
        to floppies). For example, the a2 files need to be in the directory 
        C:\install\a2, the a3 files in C:\install\a3, and so on. However, 
        you do still need to make the a1 disk with rawrite, as explained 
        above.


2.4 Getting the SLS release via mail
        SLS is available from the address below for a $3.50/disk US 
        ($4.50/disk Canadian) copying charge.  Add $1.00/disk for 3.5" 
        disks, and $15.00 for shipping and handling. Mail payment, either 
        cheque or money order, in advance, to Softlanding. Visa and 
        Mastercard are now also accepted, Because people keep asking about 
        prices, Softlanding has provided this commonly ordered configurations 
        price sheet:

                NAME #DISKS  SERIES        5 1/4 DISKS   3 1/2 DISKS
                -------------------------------------------------------
                TINY  4      a             US $29.00     US $33.00
                BASE  17     a,b,c,d,s     US $74.50     US $91.50 
                MAIN  24     a,b,c,x       US $99.00     US $123.00 
                FULL  30     a,b,c,x,d,s,t US $120.00    US $150.00 

        When ordering, ensure that you specify the bootdisk type (3.5 or 
        5.25). Softlanding is also now offering support subscriptions for 
        SLS. Individual support, (one user, one machine) is $100.00 per 
        year. Group support, primarily for resellers and corporate sites 
        is $1000.00 per year. CDROM ($99) and QIC-150 tape ($150) also 
        available.

                Softlanding Software 
                910 Lodge Ave. 
                Victoria, B.C., Canada 
                V8X-3A8 

        Quite a few people distribute SLS and other Linux distributions
        via mail for other prices; watch comp.os.linux.announce for
        details.


3. Installing the Software

3.1 Repartitioning 
        Before you can install the Linux software, you need to repartition
        your drive to make space for Linux. On most systems, your drive
        is already dedicated to partitions for MS-DOS, OS/2, and so on.
        You need to resize these partitions in order to make space for
        Linux.

        The problem with resizing partitions is that there is no way to
        do it (easily) without deleting the data on those partitions. 
        Therefore, you will need to make a full backup of your system before
        repartitioning. In order to resize a partition, we simply delete
        the partition(s), and re-create them with smaller sizes. 

        NOTE: There is a non-destructive disk repartitioner available for
        MS-DOS, called FIPS. Look on sunsite.unc.edu in the directory
        /pub/Linux/system/Install. With FIPS, a disk optimizer, and a little 
        bit of luck, you should be able to resize MS-DOS partitions without 
        destroying the data on them.

        If you're not using FIPS, however, the classic way to modify
        partitions is with the program "fdisk". For example, let's say
        that you have an 80 meg hard drive, dedicated to MS-DOS. You'd
        like to split it in half---40 megs for MS-DOS and 40 megs for
        Linux. In order to do this, you need to run "fdisk" under MS-DOS,
        delete the 80 meg MS-DOS partition, and re-create a 40 meg
        MS-DOS partition in its place. You can then format the new partition
        and reinstall your MS-DOS software from backups.

        Use of MS-DOS "fdisk" should be self-explanatory. The mechanism 
        used to repartition for OS/2 and other operating systems is similar.


3.2 Creating partitions for Linux
        After repartitioning your drive, you need to create partitions
        for Linux. Linux will require at least two partitions on your 
        drive: one for the software itself, and one for swap space. 
        
        (You can create multiple filesystems for Linux, each one on its own 
        partition. If you have previous UNIX experience, you will know how
        to creatively partition your drive. However, most users simply use 
        one large root filesystem for all of the Linux software.)

        In order to create these partitions, first boot the SLS a1 disk.
        At the "LILO" prompt, press <ctrl> or <alt> to get a boot menu.
        Follow the instructions there. In mose cases, all you need to
        do is press <return>, unless you want to boot without the ramdisk.

        After the system boots, login as "root" (no password). If you login 
        as "install" instead, you will be given an installation menu, 
        which will basically let you execute the steps below. However, for
        this document, we will show you how to run the same commands by
        hand.


3.2.1 Using fdisk
        After logging in as root, run the command
                fdisk <drive>
        where <drive> is the name of the drive that you wish to create
        Linux partitions on. Hard drive device names are:

                /dev/hda    First IDE drive
                /dev/hdb    Second IDE drive
                /dev/sda    First SCSI drive
                /dev/sdb    Second SCSI drive

        ...and so on. For example, to create Linux partitions on the
        first SCSI drive in your system, use the command
                fdisk /dev/sda

        If you use "fdisk" without an argument, it will assume /dev/hda.

        Use of fdisk is simple. The command "p" displays your current
        partition table. "n" creates a new partition, and "d" deletes
        a partition. 

        To Linux, partitions are given a name based on the drive which
        they belong to. For example, the first partition on /dev/hda is
        /dev/hda1, the second is /dev/hda2, and so on.

        NOTE: You should not create or delete partitions for operating
        systems other than Linux with Linux fdisk. That is, don't create
        or delete MS-DOS partitions with this version of fdisk; use MS-DOS's
        version of "fdisk" to do that. If you try to create MS-DOS partitions 
        with Linux fdisk, chances are MS-DOS will not boot correctly.
        
        Here's an example of using fdisk. Here, we have a single
        MS-DOS partition using 61693 blocks on the drive, and the
        rest of the drive is free for Linux. We will create two Linux
        partitions; one for swap, and one for the root filesystem.

        First, we use the p command to display the current partition table.
        As you can see, /dev/hda1 (the first partition on /dev/hda) is
        a DOS partition of 61693 blocks. (1 block == 1024 bytes). 

        ----------------------------------------------------------------------
         Command (m for help):   p
         Disk /dev/hda: 16 heads, 38 sectors, 683 cylinders 
         Units = cylinders of 608 * 512 bytes

              Device Boot  Begin   Start     End  Blocks   Id  System
           /dev/hda1   *       1       1     203   61693    6  DOS 16-bit >=32M

         Command (m for help):
        ----------------------------------------------------------------------

        Next, we use the n command to create a new partition. The root
        partition will be 80 megs in size.

        ----------------------------------------------------------------------
         Command (m for help):  n 
         Command action 
            e   extended 
            p   primary partition (1-4)
         p
        ----------------------------------------------------------------------

        A primary partition is simply one of the 4 partitions on your drive.
        An extended partition allows you to create multiple logical partitions 
        within it; this allows you to go over the four-partition limit on 
        the drive. In most cases, you should only use primary partitions 
        unless you need more than 4 partitions on a drive.

        ----------------------------------------------------------------------
         Partition number (1-4): 2
         First cylinder (204-683):  204
         Last cylinder or +size or +sizeM or +sizeK (204-683): +80M
        ----------------------------------------------------------------------

        The first cylinder should be the cylinder AFTER where the last
        partition left off. In this case, /dev/hda1 ended on cylinder 203,
        so we start the new partition at cylinder 204.

        As you can see, if we use the notation "+80M", it specifies a
        partition of 80 megs in size. Likewise, the notation "+80K" would
        specify an 80 kilobyte partition, and "+80" would specify just an
        80 byte partition (not really possible since partitions must be
        at least 1 block in size).

        ----------------------------------------------------------------------
         Warning: Linux cannot currently use 33090 sectors of this partition
        ----------------------------------------------------------------------

        If you see this warning, you can ignore it. It is left over from an
        old restriction that Linux filesystems could only be 64 megs in
        size. However, with newer filesystem types, that is no longer the
        case... partitions can now be up to 4 terabytes in size. 

        Next, we create our 10 meg swap partition, /dev/hda3.

        ----------------------------------------------------------------------
         Command (m for help): n
         Command action 
            e   extended 
            p   primary partition (1-4) 
         p

         Partition number (1-4): 3
         First cylinder (474-683):  474
         Last cylinder or +size or +sizeM or +sizeK (474-683):  +10M
        ----------------------------------------------------------------------

        And, finally, we display the contents of the partition table. Be
        sure to write down the information here, especially the size of 
        each partition in blocks. You need this information later.

        ----------------------------------------------------------------------
         Command (m for help): p
         Disk /dev/hda: 16 heads, 38 sectors, 683 cylinders 
         Units = cylinders of 608 * 512 bytes

              Device Boot  Begin   Start     End  Blocks   Id  System
           /dev/hda1   *       1       1     203   61693    6  DOS 16-bit >=32M
           /dev/hda2         204     204     473   82080   81  Linux/MINIX
           /dev/hda3         474     474     507   10336   81  Linux/MINIX
        ----------------------------------------------------------------------

        To quit fdisk and save the changes to the partition table, use the
        "w" command. To quit fdisk without making any changes, use the "q"
        command instead.


3.2.2 Rebooting the system
        After running fdisk and creating Linux partitions, reboot the system
        (again with the SLS a1 disk), and login as root. It is important to
        reboot after modifying the partition table, because the kernel only
        detects partition sizes at boot time.


3.3 Creating filesystems and swap space
        After rebooting the system, you need to prepare the filesystems and
        swap space on the new partitions.

3.3.1 Using mkswap
        First, the swap space. For this we use the command
                mkswap -c <partition> <size> 
        where <partition> is the partition name, such as /dev/hda3, and
        <size> is the size of the partition in blocks. 

        For example, if you created a swap partition on /dev/hda3 of
        size 10336 blocks, use the command
                mkswap -c /dev/hda3 10336
        The -c option tells mkswap to check for bad blocks on the 
        partition when preparing the swap space. If you see any "read_intr"
        error messages during the mkswap operation, this means that
        bad blocks were found (and flagged). So you can ignore these errors.

        To enable swapping on the new device, use the command
                swapon <partition>
        For example, for our swap space on /dev/hda3, we use
                swapon /dev/hda3

        We should now be swapping with 10 megs of extra virtual RAM on 
        /dev/hda3.

3.3.2 Using mke2fs
        Next, we need to prepare the root filesystem, using the command
        mke2fs. This creates an "ext2fs" type filesystem, which is just one
        of the several types of filesystems available. ext2fs is the most 
        flexible and popular filesystem type to use; it allows filesystems
        of up to 4 terabytes in size and 256-character filenames. 

        Several other filesystem types are still in use, such as the Minix
        filesystem and the extended filesystem. However, because of the
        limitations on these filesystem types, ext2fs is the most popular.

        The syntax of the mke2fs command is
                mke2fs -c <partition> <size>
        For example, if we are creating a filesystem on /dev/hda2 with a
        size of 82080 blocks, we use the command
                mke2fs -c /dev/hda2 82080

        Again, the -c switch tells mke2fs to check for bad blocks on the
        partition.

        If you are using more than one Linux filesystem, you will need to
        use mke2fs for each one.
        
        
3.4 Installing the software
        Installing the SLS release is simply a matter of using the 
        doinstall command. Before you begin, make sure that you have
        a blank, high-density MS-DOS formatted diskette on hand. This
        diskette will be used to create an SLS boot disk after the 
        installation procedure is complete; therefore, the diskette
        must be of the type (either 3.5" or 5.25") that you will boot
        from on your system (like the a1 disk).

        To install the software, use the command
                doinstall <partition>
        where <partition> is the name of the Linux root partition.
        For example, if your root partition is /dev/hda2, use the command
                doinstall /dev/hda2

        doinstall will prompt you for the install media (such as floppy,
        or hard drive), and other information (such as what packages you
        wish to install). The rest should be self-explanatory.

        If you are using more than one filesystem for Linux, you need
        to specify extra parameters to doinstall. For example, if your
        root filesystem is on /dev/hda2, and your /usr filesystem is
        on /dev/hda4, use the command
                doinstall /dev/hda2 /dev/hda4 /usr

3.5 After installation
        After the software is installed, you may boot from the SLS boot
        disk created during the installation procedure (or from the hard
        drive if you opted to install LILO at install time). You should
        be able to boot the system, login as "root", and off you go.


4. Miscellaneous
        I don't like to be biased towards the SLS release, however, in 
        order to document multiple releases of Linux, this file would be
        much, much longer. It is simpler and more coherent to cover the
        specific instructions for a single release of Linux. The book
        ``Linux Installation and Getting Started'' will in the future
        cover releases other than SLS. However, because the installation
        procedures are so varied, covering them all would be very confusing
        both to myself and to the reader.

        However, the basic concepts in this document still hold, no matter
        what release of Linux you choose. For example, all releases require
        you to run fdisk, mkswap, and mke2fs. The only real difference is
        the method used to create the installation disks (if needed) and
        the analogue to the "doinstall" command. If you choose to use a
        release of Linux other than SLS, the READMEs and installation
        instructions that come with that release should be easy to understand
        in the context of the material presented here.

        If you would like a more complete discussion of Linux installation
        (instead of the "quick" examples given here), read the book
        ``Linux Installation and Getting Started", from sunsite.unc.edu
        in /pub/Linux/docs/LDP. This document is intended only to get
        new users started with Linux without a great deal of background.
        The book, on the other hand, contains a complete discussion of
        Linux, from start to finish, including tutorials on how to use the
        system once you have installed it.

        Please mail me (mdw@sunsite.unc.edu) if any part of this document
        is confusing or incorrect. I am open to any suggestions and comments.
        I also like to help answer questions about Linux installation, if you
        have any.

        Best of luck with your new Linux system!

        Cheers,
        mdw

-- 
Send submissions for comp.os.linux.announce to: linux-announce@tc.cornell.edu

------------------------------


** FOR YOUR REFERENCE **

The service address, to which questions about the list itself and requests
to be added to or deleted from it should be directed, is:

    Internet: Linux-Admin-Request@NEWS-DIGESTS.MIT.EDU

You can send mail to the entire list (and comp.os.linux.admin) via:

    Internet: Linux-Admin@NEWS-DIGESTS.MIT.EDU

Linux may be obtained via one of these FTP sites:
    nic.funet.fi				pub/OS/Linux
    tsx-11.mit.edu				pub/linux
    sunsite.unc.edu				pub/Linux

End of Linux-Admin Digest
******************************
