Installing or Updating MCC Interim Linux
****************************************

This chapter assumes that you have already obtained all the necessary
files and packages, and prepared or obtained a suitable MCC bootable
root disk.  See README.ftp, where the preparation of bootable root
disks is described.


An overview of the MCC installation
===================================

In this section I summarise what you should do to install Linux
using the MCC interim distribution.  Exceptions, qualifications, and
alternatives are omitted to keep the picture as simple as possible.

   - Read this document carefully, so that you know what the process of
     installing Linux involves.  Think about how you will partition your
     hard disk.  See README.prepare.

   - Back up your hard disk.

   - Get the boot image, packages, and DOS programs by using anonymous
     ftp in binary mode.  See README.ftp.

   - Unpack `GZIP.EXE'.

   - Use the new `GZIP.EXE' to unpack the boot image.

   - Use `RAWRITE' to copy the boot image to a high density floppy.
     See README.ftp.

   - Boot from the MCC boot disk in read-only mode.  See README.install.

   - Use `fdisk' to edit your partition table.  See README.fdisk.

   - Reboot from the MCC boot disk in read-only mode.

   - Use `mkswap' to set up a swap partition.  See README.install.

   - Use `mkfs' to create file system partitions.

   - Install the Base package from the MCC boot disk.

   - Reboot from the MCC boot disk in read-write mode.

   - Install the packages you select.

   - Use LILO to create a boot floppy.
     floppy or hard disk: LILO.

   - Reboot from your new boot floppy.

   - Log in as root, and use `/etc/lilo/install' to install LILO on
     your hard disk.

The following sections explain this process in greater detail.


Booting from the MCC boot disk
==============================

Put the MCC boot disk in the 0 drive (the A: drive for DOS) of the
machine on which you want to install Linux.  Then reboot by pressing the
`RESET' button, or `CTRL-ALT-DEL'.  After the system boots, you should
see something like this:
      LILO
      Press <RETURN> to boot with the floppy as a read-only '/'.
      Type 'rw root=xxx <RETURN>' to mount a hard disk partition as '/'.
         The value 'xxx' is printed after you do an installation.
         Typical values:   /dev/hda1: 301     /dev/hda2: 302
                           /dev/hdb1: 341     /dev/hdb3: 343
                           /dev/sda1: 801     /dev/sdb4: 814
      boot:

To install or update MCC interim Linux, you will need to boot at least
twice from this floppy, and possibly three times:

  1. You may need to run `fdisk' to edit the partition tables.  After
     doing this, it is a good idea to reboot the system.

  2. You need to set up and mount the hard disk partitions and install
     basic files from the boot disk.

  3. You need to reboot the system before installing the MCC packages.

In the first two cases, simply press <RETURN> after the above message
appears.  This boots Linux using the kernel on the boot disk, and mounts
the boot disk as `/' in read-only mode.

In the third case, you need to give a command such as

     rw root=302

where the number `302' varies depending on which root partition you
intend to use.  This also uses the kernel on the boot disk, but it
mounts one of the partitions on your hard disk as `/', and it mounts
that partition in read-write mode.  This is not guaranteed to work
unless you have installed or updated basic files from the MCC interim
boot disk.

As the kernel boots, it tries to explore your hardware, and messages
will appear describing what it finds.  If you have only one IDE disk,
you will see this message:

     hard disk I/O error
     dev 0340, sector 0
       unable to read partition table of device 0340

This can be ignored; it means that the kernel cannot access your
second hard disk, which of course does not exist.  If you simply
pressed <RETURN>, the messages which appear should end like this:
      Linux version 0.99.pl8-5 (root@linux) 04/24/93 08:05:03
     
      f   Run fdisk to manage the partition table.
      s   Set up a new swap partition.
      a   Activate an existing swap partition.
      m   Make a new file system on a partition.
      i   Install basic binaries.
      c   Check (and repair) an existing file system.
      e   Execute /bin/sh on an existing file system.
      q   Quit.
     
      ? _

Instead of getting a shell prompt `#', you see a small menu.  The
choices in the menu help you execute the commands you need to use to
create an installed MCC interim Linux system, and these commands appear
on the menu more or less in the order in which you need to select them.
 To select a command, type the letter which appears next to it, and
then press <RETURN>.  This procedure differs from that in previous MCC
installations.


Editing the partition tables
============================

To run `fdisk' from the MCC boot floppy, select `f' from the menu.
See README.fdisk for more information about the `fdisk' command.
First you need to specify the disk whose partition tables you will edit.
The menu utility asks:

     Run fdisk on (block device; default = /dev/hda):

At this point, press <RETURN> to accept the default.  `/dev/hda' is
the first hard disk, `/dev/hdb' the second, `/dev/sda' the first SCSI
disk, `/dev/sdb' the second, `/dev/xda' the first XT disk, and
`/dev/xdb' the second.  To select one of these, simply type it after
the prompt.  If you decide not to, the `block device' prompts always
accept `q' as an answer, though sometimes the message `That is not a
legitimate device' appears.

At this point the `fdisk' prompt appears:

     Command (m for help): _

If you type `m', you will see the main menu for `fdisk':
      Command action
         a   toggle a bootable flag
         d   delete a partition
         l   list known partition types
         m   print this menu
         n   add a new partition
         p   print the partition table
         q   quit without saving changes
         t   change a partition's system id
         u   change display/entry units
         v   verify the partition table
         w   write table to disk and exit
         x   extra functionality (experts only)
     
      Command (m for help): _

We can give the command `p' to print the partition table.  Here is a
sample from one of the machines I use:

     Disk /dev/hda: 14 heads, 35 sectors, 978 cylinders
     Units = cylinders of 490 * 512 bytes
     
        Device Boot  Begin   Start     End  Blocks   Id  System
     /dev/hda1   *       1       1      98   23992+   4  DOS 16-bit <32M
     /dev/hda3   *     263     263     426   40180   81  Linux/MINIX
     /dev/hda4         427     427     977  134995    5  Extended
     /dev/hda5         427     427     491   15924+  82  Linux swap

We can create a primary partition in slot 2, or another logical
partition after the swap space:

     Command (m for help): n
     Command action
        l   logical (5 or over)
        p   primary partition (1-4)
     p
     Partition number (1-4): 2
     First cylinder (99-978): 99
     Last cylinder or +size or +sizeM or +sizeK (99-262): 262
     
     Command (m for help): _

Then we change its type from 81 (Linux/Minix) to 83 (Linux extended
file system).  This actually makes no practical difference, but I like
to see things clearly when I look at partition tables; I want sensible
information to appear.

     Command (m for help): t
     Partition number (1-8): 2
     Hex code (type L to list codes): 83
     Changed system type of partition 2 to 83 (Linux Ext)

Next we make the new partition active.  In most cases this has no
practical effect, but I like to be able to see which partitions are
bootable when the partition table is printed:

     Command (m for help): a
     Partition number (1-8): 2
     
     Command (m for help): p
     
     Disk /dev/hda: 14 heads, 35 sectors, 978 cylinders
     Units = cylinders of 490 * 512 bytes
     
        Device Boot  Begin   Start     End  Blocks   Id  System
     /dev/hda1   *       1       1      98   23992+   4  DOS 16-bit <32M
     /dev/hda2   *      99      99     262   40180   83  Linux Ext
     /dev/hda3   *     263     263     426   40180   81  Linux/MINIX
     /dev/hda4         427     427     977  134995    5  Extended
     /dev/hda5         427     427     491   15924+  82  Linux swap

Being satisfied with this, we decide to save it.

     Command (m for help): w
     The partition table has been altered!
     
     Calling BLKRRPART ioctl() to re-read partition table
     Syncing disks
     Reboot your system to ensure partition table is updated
     Reboot the system now (Y or N): y
     
     Leave the boot floppy in the drive.
     
     Press <RETURN> at the LILO prompt.

It is not strictly necessary to reboot the system at this point.  It
is perfectly safe to run `fdisk' again, whether on the same partition
or on other partitions.  But before you run any other commands from the
boot floppy, it is safer to reboot, at least if the hard disk contains
any data which you would regret losing.


Preparing swap and file system partitions
=========================================

Once partitions have been created, they need to be initialised before
they can be used for swapping or as file system partitions.  Previously
initialised swap partitions should be activated during installation,
and it is a good idea to check existing file systems so that any
inconsistencies that may have arisen are corrected before you copy new
files onto them.  You can select any one of these functions from the
menu which appears after you boot the system in read-only mode.

* Menu:

* Initialising::   Initialising a swap partition.
* Activating::     Activating a swap partition.
* Creating::       Creating a file system.
* Repairing::      Checking and repairing an existing file system.


Initialising a swap partition
-----------------------------

Before you can use a swap partition, you must initialise it.  Once
Linux is installed, you can do this with the `mkswap' command.  To run
`mkswap' from the MCC boot floppy, select `s' from the menu.  Here is a
typical example:

     WARNING: This will destroy any files on this partition.
     Do you want to continue (Y or N): y
     Run mkswap on (block device; default = /dev/hda5):
     Setting up swapspace, size = 16302080 bytes
     Adding Swap: 15920k swap-space

I find warnings of the type `Are you sure?' irritating, but I print
one here to remind you that this command overwrites an entire partition.
The default swap device is `/dev/hda5' because this is the first
logical partition, and it seems sensible not to put a swap partition in
one of the slots of the primary partition table, unless you have a very
small disk.  If you are using a different partition for swap, type its
name before pressing <RETURN>; for example, type `/dev/hda2' in
response to the `block device' query.

The maximum usable size of a swap partition is 16 Mb, or 16384
blocks of 1024 bytes each.  If you try to initialise a partition larger
than this for swap, you are warned that some of this space will be
wasted, and you can choose to give up before doing so.  If you wish,
you can use `fdisk' to reduce the size of the partition slightly, and
you can add the extra cylinders to another partition.

After the new swap partition is initialised successfully, the boot
utility activates it for you.


Activating a swap partition
---------------------------

If you install Linux on a disk which already contains an initialised
swap partition, you should activate it before doing anything else.  On
small systems, the installation may fail if you do not, and on any
system, this should make the installation a little faster.  Once Linux
is installed, you can activate swap space with the `swapon' command.  To
run `swapon' from the MCC boot floppy, select `a' from the menu.  Here
is a typical example:

     Activate swapping on parition (block device; default = /dev/hda5):
     Setting up swapspace, size = 16302080 bytes
     Adding Swap: 15920k swap-space

Here again, the default swap partition is `/dev/hda5'.


Creating a file system
----------------------

Creating a file system under Linux is like running the `FORMAT'
utility under DOS.  Once Linux is installed, you can do this with the
`mkfs' command.  To run `mkfs' from the MCC boot floppy, select `m' from
the menu.  Here is a typical example:

     WARNING: This will destroy any files on this partition.
     Do you want to continue (Y or N): y
     Run mkfs on (block device; default = /dev/hda1): /dev/hda2
     Create a Minix filesystem (Y or N): n
     By default all 40180 blocks of this partition are used for the file system.
     Sometimes this causes problems, due to a bug in mkfs.ext2.
     Reduce this number (Y or N): n
     mke2fs 0.3, 93/04/22 for EXT2 FS 0.3, 93/04/22

MCC interim Linux currently supports two kinds of file system: the
minix file system and the ext2 file system.

The "minix" file system is named after the MINIX operating system.
It comes in two slightly different versions: one in which file names
cannot be more than 14 characters long, and one in which file names
cannot be more than 30 characters long.  Partitions with the 14
character limit are actually compatible with MINIX and can be mounted
under that system.  The 30 character limit is not compatible with
MINIX, but Linux treats the two versions as identical in most respects.
 The minix file system is older and less subject to change, and perhaps
slightly more reliable.  We do not recommend using the 14 character
version unless you need to maintain compatibility with the MINIX
operating system.  A minix file system cannot have more than 64 Mb, or
65536 blocks of 1024 bytes, on a single partition.

The "ext2" file system was developed for Linux and may eventually
become the primary Linux file system.  An older version of this system,
the "ext" file system, is now quite stable, but we do not recommend its
use, and MCC interim Linux does not support it any longer.  File names
in the ext2 file system may be up to 255 characters long, and a single
partition may contain up to 4 terabytes (4 million megabytes).  If you
tell the MCC installation utility that a file system is not a minix
file system, it assumes that it is an ext2 file system.


Checking and repairing an existing file system
----------------------------------------------

It is a good idea to check file systems once in a while, particularly
before you install a new version of Linux on a file system which
already exists.  Once Linux is installed, you can do this with the
`fsck' command.  This is the Unix equivalent of the DOS command `CHKDSK'.
To run `fsck' from the MCC boot floppy, select `c' from the menu.  Here
is a typical example:

     Run fsck on (block device; default = /dev/hda1): /dev/hda2
     Does this device contain a Minix file system (Y or N): y
     Do you want (possibly dangerous) automatic fixing (Y or N): n
     Do you want to fix problems on request (Y or N): y

In the same way as when you create a file system, the boot floppy
assumes that a Linux file system is either a minix file system or an
ext2 file system.  The `fsck' program reads through a file system, which
is usually described in some detail and with a considerable amount of
redundant information.  If the information is inconsistent, `fsck' does
one of three things:

  1. In "automatic" mode, it tries to fix all problems as well as it
     can.

  2. In "interactive" mode, it asks you before doing anything.

  3. In "default" mode, it fixes minor problems, but asks you before
     fixing major problems.

If you answer `y' to the query about automatic fixing, `fsck' runs
in automatic mode and fixes everything it can.  This may be dangerous
if the file system is badly corrupted, since the program might delete a
file you wish to keep.  In my view, this is very unlikely, and I nearly
always run `fsck' in automatic mode.  If you answer `y' to the query
about fixing problems on request, `fsck' runs in interactive mode;
otherwise, it runs in default mode.

File systems usually become corrupt when a system is shut down or
rebooted improperly; for example, while a file or directory is being
created or deleted.  Chances are that if a file is being written, you
will lose all or part of the file irrevocably.


Installing basic files from the boot disk
=========================================

When you have set up the swap and file system partitions, you can
select the *install* option from the menu with the `i' command.  The
following dialogue shows how to specify partitions to be mounted:

     Which device contains the file system you wish to be mounted
     on '/'?  Give a name in the form '/dev/hda1', or type
     'q' to quit.
     This file system is on (block device; default = /dev/hda1): /dev/hda2
     Does this device contain a Minix file system (Y or N): n
     
     Is there another partition you wish to mount?  If so, give the
     pathname it will have in the installed system, such as '/usr/src'
     with a slash at the front and no slash at the end.  (Upper case is
     not allowed.)  If not, type 'n': n

You must always give directories moving away from the root of the
tree: in other words, if you intend to mount `/dev/hda8' on `/',
`/dev/hda7' on `/usr', and `/dev/hda6' on `/usr/src', then you must
give `/' first, then `/usr', and then `/usr/src'.  If you specify
another directory here, for example, `/usr/src', then you are asked for
the block device where it lives, and the type of file system it
contains.

After you type 'n' to the request for another directory, you should
see some messages as the Base package gets installed:

     499 blocks
     Installing Base.tgz
     Base contains basic binaries and text files for Linux.
     ..................................................................
     1971 blocks
     96 blocks
     Verifying Base.crc.
     Filesystem         1024-blocks  Used Available Capacity Mounted on
     /dev/hda2              40180    2272     37908     6%   /root
     
     Reboot the system now (Y or N): _

The `blocks' messages refer to 512-byte blocks, half the size of the
file system blocks.  `Verifying' refers to the crc check by `brik';
after checking, the crc file is moved to `/tmp', so that you can check
later to see whether anything has changed.  There is no verification for
most man pages, or for files (like `/etc/fstab', for example) which are
edited by the installation programs.  If a file has a bad checksum, a
message appears like this one:

     BAD etc/init

This warns you that something is wrong.  If there is a small error
(caused perhaps by a bad spot on your floppy?), you might have only one
bad file, but usually there are several.  The `df' listing (which
includes all mounted disks) can be useful if you have insufficient
space to install further packages.

It is in general a good idea to reboot the system at this point
during installation or upgrading.  If you choose not to do so, a shell
is started, and you can poke about in the half-installed system.  If you
choose to do so, you will see this message:

     Please type CTRL-D to reboot, not 'reboot' or 'shutdown'.

This is because the system is set up in an odd way.  The root
partition (the booted floppy) is mounted in read-only mode, and the
usual `mount' and `umount' programs will not work properly.  Similarly,
the `reboot', `halt', and `shutdown' utilities are not able to unmount
file systems, which consequently are likely to become corrupt during
the shutdown.  If you type CTRL-D or `exit', you will again see the
prompt

     Reboot the system now (Y or N): _

If you answer `y', you should see a message like this:

     Leave the boot floppy in the drive.
     Unmounted /dev/hda3
     Unmounted /dev/hda2
     
     Type 'rw root=302' at the LILO prompt.

The message `rw root=302' is important, since you need to type it
after the system has rebooted and printed the LILO prompt.  The message
printed at that time will jog your memory if you forget this, or if you
did not write it down during the 15 seconds or so while it appears on
the screen.  The important part of the message is the number `302',
which varies depending on the partition you wish to be mounted as `/',
the root of the new file system.


Installing the MCC interim packages
===================================

After you have installed the Base package from the boot floppy, you
must reboot before you install any other packages.  At this time you
should not yet be able to boot Linux from your hard disk.  Leave the
boot floppy in the floppy drive, and when the LILO prompt appears, type
the command `rw root=xxx' which was printed at the end of the last
step.  The number `xxx' is a hexadecimal code for the partition which
contains the root of the file system, and which is mounted as `/'.

The system should boot, mounting the specified partition as `/' in
read-write mode.  Then the following message should appear:
      Which drive will you use to install Linux packages:
     
      1  drive A:  5.25 inch HD floppies
      2  drive A:  3.5  inch HD floppies
      3  drive B:  5.25 inch HD floppies
      4  drive B:  3.5  inch HD floppies
      5  A directory on an unmounted partition on this machine
      6  A directory already mounted at this time
      7  No installation at this time
     
      ? _

If you are installing from floppies, give one of the answers 1 -- 4,
whichever is appropriate.  If you are installing from a directory, and
if you mounted that directory before you installed the Base package
from the boot floppy, answer `6'.  If you copied the packages to a
directory on a DOS partition, or on a Linux partition which is not
currently mounted, answer `5'.

If you answer `5', you must give the name of the unmounted partition
which contains the directory which contains the packages.  The partition
must be a DOS partition or contain a minix or ext2 file system.  You
are prompted for the name of the partition:

     What is the block device on which this partition lives?

To this you should answer, for example, `/dev/hda1'.

If you are going to mount a partition using NFS, then you must
initialise your network before you continue.  If you must install the
tcpip package to do this, then give one of the answers 1 -- 6 as
appropriate, and install the tcpip and base packages first.  But if
your network software is already installed, so that you got messages
when the system booted about your hostname and IP address, type `7'.  In
this case, it may be necessary to change your hostname and run
`/etc/rc.net' before you continue.  Once the hostname is correct and
networking is active, mount the remote partition on `/mnt' and give the
command `/tmp/install'.  This is done automatically if you give one of
the commands 1 -- 6 at boot time.

Whichever method you use to make packages accessible, you must then
answer this question:

     Do you wish to have a prompt before each package (Y or N): _

I recommend answering `y', which allows you to omit packages which
you do not wish to install.  On the other hand, when I install Linux on
several machines at once, I make certain the disks contain only
packages which I wish to install on all machines, and I answer `n' at
this point.  If you are confident that only desirable packages will be
installed, and that you have enough disk space to hold them, answer
`y', then drink some tea while the packages are installed.  At this
juncture you may see all, some, or none of the following dialogue,
depending on the options you have chosen before this point:

     If you wish, you may install other parts of MCC interim Linux
     from a directory on another machine, remotely mounted using NFS,
     or from a currently available directory mounted in some other way.
     This will only work if you have mounted the remote directory
     If the directory is not accessible now, do you wish to quit? (Y or N): n
     Do you wish to install from a currently mounted directory? (Y or N): y
     /dev/hda1 is mounted on /mnt.  In which directory are the packages found?
     /mnt/mcc

After you reach this point, packages from the selected directory or
floppy are installed.  The messages which appear are much like those
for the Base package on the boot floppy, and include the following
information:

     Base contains basic text and binary files, with formatted man pages.
     Bison contains the GNU yacc-compatible parser generator.
     Emacs contains GNU emacs 18.59, except for info files.
     Flex contains the GNU clone of lex, the lexical analyser generator.
     Gawk contains the GNU version of the awk programming language.
     Gcc contains the GNU C compiler, release 2.3.3, excluding g++ and gprof.
     Gdb contains the GNU debugger.
     Gpp contains the GNU C++ compiler, release 2.3.3, except for those
         files contained in the gcc package.
     Gprof contains the GNU profiler gprof and its associated library files.
     Groff contains the GNU clone of the nroff/troff text formatter.
     Info contains GNU info, makeinfo, and selected info files.
     Kermit contains the Kermit file transfer and serial communications program.
     Linux contains the kernel source files for Linux version 0.99-p8+.
     Patches contains all patches used to compile the binaries included in the
         current MCC interim distribution.
     Tar contains the GNU version of tar, the tape archive program.
     Tcpip contains networking programs, daemons, and configuration files.
         These will not work unless your kernel was compiled with tcpip.
     The kernel in ide-uk has no TCP/IP, NFS, SCSI or xd support.
     The kernel in ide-us has no TCP/IP, NFS, SCSI or xd support.
     The kernel in ipide-uk has no SCSI or xd support.
     The kernel in ipide-us has no SCSI or xd support.

If you have asked to be prompted, the message is printed before the
prompt, so that you know what you are accepting or rejecting.  During a
floppy installation you will also see the following message from time
to time:

     You may now remove the floppy disk from the drive.  If you wish
     to install from another disk, then put it in the drive and
     type 'r' when ready; or type 'q' to stop: _

If your disks are DOS disks, you should have no other messages at
mount time except `VFS: Disk change detected on device 2/28', or some
such message, depending on your disk drive.  But if your disks contain
minix or ext2 file systems, you will get some error messages.  I
allowed these to remain, since they might sometimes contain useful
information.

The installation concludes by giving you the opportunity to install
LILO either on a floppy or on your hard disk.  If you do not wish to
install LILO, you may create a conventional boot floppy instead.  If
you do not create a boot floppy or install LILO on your hard disk, you
will not be able to boot your newly installed system, unless, of
course, you use some boot loader which is not included in the MCC
interim distribution.


Creating a boot floppy
======================

After you install the last of the MCC packages, typing `q' if
necessary to say that you have no more floppies, the installation
procedure allows you to create a boot floppy, using either LILO or your
newly installed kernel.  You may also install LILO on your hard disk if
you wish, though it is safer to make a boot floppy first.

* Menu:

* LILO::          Installing LILO on a floppy or hard disk.
* Conventional::  Making a conventional boot floppy.


Installing LILO on a floppy or hard disk
----------------------------------------

LILO is Werner Almesberger's utility for booting Linux: it stands
for LInux LOader.  It is quite versatile.  You can install it in the
Master Boot Record on your hard disk, so that it functions as the
primary boot program when your system boots, or you can install it in
any partition on your hard disk, or on a floppy disk.  LILO can allow
you to select from up to 16 possible Linux boot images, or you can boot
another operating system.  It can pass special options to Linux
kernels, such as an instruction to boot in single user mode, or to
mount the root partition in read-only mode.  It can boot a default
option unless you intervene during boot, and it can force you to choose
one of its images interactively.  It can also protect some or all of
your boot options by requiring a password at boot time.

The MCC base package (not the Base package on the boot disk) installs
LILO in the directory `/etc/lilo'.  Among the files installed in this
directory are a detailed `README' which describes some of the many
features of this utility, the command `/etc/lilo/lilo', which installs
the loader, and the command `newinstall', which is a simple utility for
installing LILO.  The `newinstall' utility is run from the MCC
installation procedure, which asks you the following questions:

     LILO can be used to boot Linux from your hard disk.  It
     can also give you the choice of booting one or more versions
     of Linux or some other operating system.  LILO can install
     itself in any partition, or in the Master boot record, or on
     a floppy disk, if you wish to be safe.  Would you like to
     install LILO now? (Y or N): y
     
     Where should the boot code go?  You may override this later to write a
     test floppy before installing LILO on the hard disk.  Possible choices
     include /dev/hda (the master boot record on your first hard disk),
     /dev/hda3 (the partition you are installing Linux on),
     or /dev/fd0 (floppy disk 0, DOS floppy A:).
     Give me the name of a block device.  The default is /dev/hda:

The default at this point is chosen by taking the name of your root
partition (for example, `/dev/hda3'), removing the end of its name
(leaving `/dev/hd'), and adding `a' (thus producing `/dev/hda' in this
case).  I recommend accepting this default.

     LILO will boot by default the first system you specify.
     Others must be selected by taking special action at boot time.
     Is the first system you wish to add a version of Linux or not?
     Answer 'n' for other operating systems or 'q' to quit:  (Y, N, or Q): y
     The default Linux image in this installation is /etc/Image.
     Press <RETURN> if you are using this image, or if you have a
     different image somewhere else which is currently mounted,
     give its pathname:
     
     What would you like to call this option?  The default is 'linux'.
     Remember, you may not give the same name to two options:
     
     Is the next system you wish to add a version of Linux or not?
     Answer 'n' for other operating systems or 'q' to install:  (Y, N, or Q): n
     
     In what partition does this other system live?  Press <RETURN> if
     you do not wish to add this option.  Otherwise give an answer
     like /dev/hda1: /dev/hda1
     
     What is the name of the device where this partition lives?
     I want the block device which is the whole of the disk.
     Press <RETURN> to accept the default /dev/hda, or 'q' to give up:
     
     What would you like to call this option?  The default is 'dos'.
     Remember, you may not give the same name to two options:
     
     Is the next system you wish to add a version of Linux or not?
     Answer 'n' for other operating systems or 'q' to install:  (Y, N, or Q): q

This little loop repeats, expecting the answer `y' for a Linux
image, `n' for another operating system, and `q' when you have no more
options to add.  You must be careful not to give the same name to two
options.  The file `/etc/Image' is installed by the MCC boot floppy.
When your list is finished, and if you have not added an option named
`linux.old', `newinstall' inserts such an option to boot an old kernel
named `/etc/Image.old' if it exists when LILO is installed.  The MCC
optional kernel packages produce such a file, and the script
`/usr/src/linux-mcc/install' produces such a file whenever you compile
a new kernel.

     Now where would you like to install LILO at this time?  You may put
     it on /dev/fd0 to be safe; be sure you have a formatted floppy disk
     in this drive NOW, and that it is a device you can boot from, not
     your DOS B: drive.  Or you may install it in /dev/hda.
     Give me the name of a block device.  The default is /dev/fd0: /dev/fd0
     Added linux
     Added dos
     Added linux.old
     
     This release of MCC interim Linux has now been installed.
     You may now login as root or as user.

This installation of LILO may fail if you have an odd disk, whose
geometry LILO is unable to determine when it is run.  In that case, you
can log in, edit the file `/etc/lilo/disktab' to insert the correct
geometry for your disk, then give the command `/etc/lilo/newinstall' to
try again.

The boot floppy produced at this point will allow you to test whether
LILO works properly before you attempt to install it on your hard disk.
If you do install LILO on your hard disk, and for some reason it fails,
or you simply wish to remove it, your original Master Boot Record is
saved in the file `/etc/lilo/boot.xxxx', where `xxxx' is a hexadecimal
number based on the drive number.  You can restore this with the command
`dd if=/etc/lilo/boot.0300 of=/dev/hda', using the appropriate names
for your system.  You should be very careful: the saved Master Boot
Record restores everything to its original state, including the first
four partitions described in the primary boot sector.


Making a conventional boot floppy
---------------------------------

If you do not install LILO after installing the MCC packages, you
are asked whether you wish to make a conventional boot floppy.

     You can now make a conventional boot floppy which will boot
     your newly installed Linux system.  To do this, you must put a
     formatted high density diskette into your A drive and answer 'y'.
     If you wish to do this now, answer 'y'. (Y or N): _

If you answer `y', this simply copies your kernel to the floppy in
drive 0 using the command

     /bin/dd if=/etc/Image of=/dev/fd0 bs=3072

The resulting disk should boot under any circumstances.  Thus, if
you cannot get LILO to work, or if you prefer not to use it, you have a
way of rebooting your system without messing about with the partition
tables.  This should not really be necessary.  There are very few known
problems with LILO other than the need to put correct parameters in
`/etc/lilo/disktab' for a few awkward disks.
