Installation Instructions

    80386 CPU
    4MB or more of RAM 
    60MB of disk space (base)
    80MB of disk space (base + X11)
    80486 CPU
    8MB RAM
    80MB disk



1. Retrieve the appropriate files from
   Note: the boot diskette must be used in your drive A:
         but you may use any floppy drive for the install disk set.
         So if you have a 5.25 a: and 3.5 drive b:, the boot
         diskette must be 5.25, but the install set may be either
         5.25 or 3.5.

2. Transfer the images to diskettes with either dd (unix) or
   rawrite (dos).  (Rawrite and uncompress for DOS are available
   from in util/dos-utils).  By the way, dd runs 
   MUCH faster to floppies on a Sun if the blocking is set up 
   correctly. For 3.5 inch floppies on a Sun sparcstation:
	dd bs=18k conv=sync if=boot of=/dev/rfd0

   Steps 1 and 2 can be combined/simplified with the use of the new
   "rawfd" dos device driver, available in the dos_utils directory
   on  This raw floppy device driver (which
   can be loaded in config.sys, or from the dos command prompt)
   allows one to ftp *directly* to the raw floppy disk, as if it were
   a regular destination file.  For example, "get boot rawfda" would
   ftp the boot disk image, and write it directly to the raw floppy
   in drive a:. In addition, rawfd will also format the floppy as it
   writes out the data, thus saving another step.

3. Determine necessary information about your configuration:
   With the new automated installation, the only required information
   you need is (and you need this ONLY if you are networked):
	ip address
	local nameserver address
	local default route address

   This package uses the standard linux naming scheme:
	fd0H1440	3.5 inch HD floppy (a:)
	fd0h1200	5.25 inch HD floppy (a:)
	fd1H1440	3.5 inch HD floppy (b:)
	fd1h1200	5.25 inch HD floppy (b:)
	hda		entire ide/mfm first *drive*
	hda1 .. hda4	first thru fourth *partition* on hda
	hdb		entire ide/mfm second *drive*
	hdb1 .. hdb4	first thru fourth *partition* on hdb
	sda		entire scsi first *drive*
	sda1 .. sda4	first thru fourth *partition* on sda



If your disk will be sharing space with other operating systems, such
as DOS, INSTALL THE OTHER SYSTEMS FIRST.  My preferred layout is OS/2
on partition 1 using HPFS, DOS/WIN3.1 on partition 2 using FAT, an
extended partition on partition 3 with a FAT filesystem (so it appears
as drive d: to both OS/2 and DOS), and linux in partition 4. If you
install them in this order, and in these locations, then TAMU linux's 
bootactv can be used for boot time selection, and OS/2's Boot Mangler
is not needed. (REALLY!)

There are two installation methods: a simple menu driven installation
script for most configurations (single linux root partition),
or manual installation for experienced users with more complex needs.


Note: the automated installation uses ext2 filesystems for linux.
I made this the default, as the size and name restrictions of the minix
filesystem have caused so many problems, and ext2 is significantly
more robust than the old ext filesystem. 

1. Boot the "boot" diskette.


	The boot diskette has two tiny kernels: one for scsi
 	or ide disk systems, and one just for ide based systems.
	Both tiny kernels have all unnecessary drivers, such as
	networking, CDROM, and special serial/mouse drivers
	removed, as these sometimes conflict with a given
	hardware configuration. By default, lilo will boot the
 	combined scsi/ide kernel in ramdisk mode.  If you have 
	an ide only system, and the scsi probing code conflicts
	with your hardware, you can try the ide only kernel.
	If you press  at the lilo boot prompt, you will
 	see a list of available boot modes:
		ramdisk      (scsi/ide kernel)
		floppy       (scsi/ide kernel)
		harddisk     (scsi/ide kernel)
		ide_ramdisk  (ide only kernel)
		ide_floppy   (ide only kernel)
		ide_harddisk (ide only kernel)
	The automatic install requires that you boot in the ramdisk mode.
	If you have insufficient memory for this, you can do a manual 
	install from a floppy mode boot. The harddisk mode boot is
	usefull as a backup way to boot a linux hard disk partition,
	if you have problems with the normal lilo boot.

	The installed linux system has a full "generic" linux kernel
	(/vmlinuz) with ide, scsi, drivers, along with all possible
	network and mouse drivers.  If the boot diskette works, but
	the installed hard disk kernel has problems booting due to
	driver conflicts with your hardware configuration, you will
	have to boot the hard disk using the boot diskette (selecting
	either the "harddisk" or "ide_hardisk" modes, and then
	configure and build a kernel tailored for your hardware
	(as discussed in "Rebuilding the kernel:" later in this document).

   The lilo boot program will prompt for "Boot" device -- press a 
   shift key to see a help screen listing boot choices, and then simply
   press enter.  (If you have a value point or other non-standard hardware,
   you may need to enter some lilo boot parameters here - see the
   examples on the boot information screen, or the latest FAQ for details.)
   As the kernel boots, you will be asked for video
   mode desired -- either select one of the choices, or let the
   prompt time out.  You will finally see a menu:

	Linux Maintenance Diskette

	1 - Install a full distribution set
	2 - Exit to linux shell
   press '1' and enter, to start the automated installation program.
   If you want to do a manual install, or other maintenance, press 2.  

2.  Running the automated installation program:

    The program will first ask a series of questions to determine
    the desired installation configuration.  In every case, a 
    default answer will be provided, and this default answer will
    be displayed in parentheses (default) at the end of the question.
    To accept the default answer, simply press enter.

    The questions asked are:

    - What floppy drive will be used for installation? 
	simply pick (1-4) from the menu

      (A list of available partitions (including any free partitions)
      are then presented.)
    - Do you need to run fdisk now? (n)
	you need to run fdisk only if none of the displayed
 	partitions (including any free space) are suitable.

    - Which partition will be used for linux? (/dev/hda1)
	The default partition is chosen to be the largest linux or empty
 	partition found.  Non linux partitions will not be automatically
	selected as default partitions, but they are displayed on the 
	list, and can be chosen.

    - Setup swapping (for 4MB ram or less)? (y)
	Swapping to a 4MB swap file will be configured by default unless 
	there is insufficient space in the selected partition. 
	Swapping must be selected if you have 4MB of ram or less,
	or subsequent steps may run out of memory.

    - Install X11 files? (y): 
	not installing X11 saves about 15MB of space. The default
	is 'y' if there is sufficient space for X in the selected
	parition.  Note, that even if X11 is not selected, libX11
	is still loaded in so that emacs-19 can load and run.

    - Do you want BOOTACTV (boot time partition selector) installed? (y)
	bootactv is a simple MBR (master boot record) boot partition
	selector.  You want this if you have multiple partitions
	on the first drive.  You don't want it if you need to boot 
	linux on a second drive partition, as in this case, LILO 
	needs to be put in the first drive MBR. (see next question)

    - Where do you want lilo installed? (/dev/hda1):
	If you asked for bootactv, the lilo bootstrap will default
	to the selected linux partition.  If not, lilo will default to
	the MBR.
    - What is this machine's hostname? (tamu) 
	Simply enter the machine's desired hostname (default "tamu")

    - Do you want networking configured? (y):
	simply enter 'n' if you don't want networking enabled.

If you asked for networking, you will get the following added questions:

    - What domain is the machine in ( 
	simply enter your IP domain name

    - What is this host's IP address ( 
	enter your host's IP address

    - What is the netmask (default) 
	The presented default is correct for standard class A, B, or C
	networks.  If your net is subnetted, you will need to override 
	default with your local netmask.  For example,
    	has a class B network (128.194), so the default presented
	is, but we actually are subnetted with mask of

    - What is the network's address (default) 
	The network address is (your IP address & NETMASK),
	ie a host part of all zeros.
	The default should be correct unless your subnet mask is
	not on a byte boundary, in which case you may need to override
	the presented value.

    - what is the broadcast address (default)
	The broadcast address is (your IP address | !NETMASK)
	ie a host part of all ones.
	The default should be correct unless your subnet mask is
	not on a byte boundary, in which case you may need to override
	the presented value.
    - What is the default gateway (default) 
	The calculated default is host 254 on your network. You will
	probably want to change this.

    - What is the nameserver address (default)
	The calculated default is host 254 on your network. You will
	probably want to change this.

Once these questions are answered, the program will display the selected
partition, and ask for confirmation to proceed.  The default on this 
question is 'n' -- you HAVE to enter 'y' to proceed.

The rest of the installation is automatic - it will tell you to take
out the boot diskette, and enter the bin.* diskettes one at a time.
Note that the new installation program is very forgiving of errors;
if you insert the wrong diskette, it will tell you which disk you 
inserted, and ask for the correct one again.  When the installation
is finished, it will remind you to remove the last data diskette,
and reboot (use ctrl-alt-del).
The first time you reboot, fsck may check the root partition.
In all subsequent reboots, as long as you use halt or reboot, the
filesystems should be clean, and fsck will skip the time consuming

If you do want to run fdisk manually:

    If you want to run fdisk during the automated installation, simply
    enter 'y' at the appropriate question.
    You will be asked which disk device to partition, such
    as hda, hdb, sda, sdb as discussed above.
    Fdisk has command help available with the "m" command.

    "fdisk" should be able to determine your disk's geometry.  If not,
    you will need to tell it the number of cylinders, heads, and sectors
    of your hard disk.  Use the "x" command to switch to expert menu.
    Then use the "c" command to specify the cylinders, "h" command to
    specify heads, and "s" command to specify the sectors of your disk.
    Now use the "r" command to return to the starting menu.

    The instructions here are a little less clear since your partitioning
    preferences may be different.  I will give an example of 3 partitions,
    one for DOS, one for swap and the other for the root filesystem.  
    I have a 90M drive that I want to partition into 10M for DOS, 
    10M linux swap and 70M linux root file system.

    First I use the "p" command to print the partition table.  I see
    that my disk has 1024 cylinders, and that partition 1 (DOS) covers
    cylinders 1 through 114.  Then I use the "d" command to delete any
    partitions other than DOS (partition 1).  I then use the "n"
    command to create new partitions.  "fdisk" will ask me if I want a
    primary of extended partition: use primary.  Next it will ask me
    where to start the partition: I use cylinder 115.  I want my first
    partition to be a swap partitoin of size 10M.  The computer asks me
    how big to make the partition: I enter 114 cylinders.  I create a
    second primary partition starting at cylinder 229 and make it 796
    cylinders in size.

    By default, all partitions are created as Linux/MINIX partitions.
    Since we want to use partition 2 for swap, we need to change its
    type, or "system id".  Use the "t" command to change the type:
    choose partition 2 and choose type 82 "Linux swap".  Similarly,
    partition 3 needs to be changed to type 83 (extfs).  A complete
    list of supported partition types can be obtained using the "l"

    Before we go, use the "p" command to print the partition table and
    note down the number of blocks for each partition.  We will need this
    in the next step.

    We are now done with this.  Use the "w" command to write the information
    to disk and exit "fdisk".

    When you exit fdisk, you will be reminded to reboot, which you must do
    now, if you changed any partition information with fdisk. To reboot,
    press -- keys together. If you did not make
    any changes, simply press return to continue installation.



 1. Boot your computer with disk "boot".
    At the maintenance menu, select (2.) to exit to a command shell.
 2. Run the "fdisk" command.  Partitions the disk as desired and note down
    the number of blocks allocated to each partition. (see the earlier
    description of this.)

    [ /sbin/fdisk /dev/hda ]

 3. Reboot your machine.

    (Ctrl-Alt-Del or push reset button).

 4. Run "mkefs" to create the file system on all non-swap partitions.

    [ /sbin/mke2fs -c /dev/hda2 72345 ]

    (I pulled 72345 out of air for this example, but you should used
    the number of blocks fdisk reported in the previous step.)

 5. do the actual installation:
    [ mount -t ext2 /dev/hda2 /mnt ]
    [ cd /mnt ]
    [ label -u -i /dev/fd0H1440 |gzip -d|tar xBpf - ]

    (change hda2 fd0H1440 and 1440 as appropriate)

 6. configure the new root files:
    [ cd /mnt/etc ]
    [ /mnt/usr/bin/vi system_config ]
	this file contains definitions for the system configuration.
	edit the example values appropriately.
    [ ../sbin/doconfig ]

 7. If you have more than one operating system (eg DOS and Linux)
    and want to have boot time selection of which operating system
    to run, install bootactv on your boot drive:

    [ cd /mnt/boot; /mnt/bin/cp bootactv.bin /dev/hda ]

    ( substitute your drive name for "/dev/hda")

8. prepare for reboot:

    [ cd / ]
    [ umount /mnt ]
    [ sync ]



 1. remove all floppies, and reboot the machine:
    [ control-alt-delete ]

 2. Log in as root by typing "root" at the login prompt.

    [ root ]
     set a password for root:
    [ passwd ]

 3. You are now mostly done.  You may still need to configure /etc/mtools,
    /etc/fstab (if necessary for cdrom ...), and
    /usr/X386/lib/X11/Xconfig.hostname. You may also want to rebuild
    the kernel for your configuration (the default kernel has only
    necessary devices in it, and assumes you have only a 80386 processor).
    Hints for the last two follow later.

 4. If you need to change any of the configuration values entered
    during installation (such as ip address ...), you need to change
    the respective entry in /etc/system_config, and rerun
    doconfig.  The system_config file is used by all of the init
    scripts to control booting, and to update /etc/lilo.conf,
    /etc/fstab, and /etc/resolv.conf.


1. use "useradd -m user_name" to build a regular user account,
   (the -m switch uses the /etc/skel files for the user home skeleton).
   You will need to set a password for them ("passwd user_name").

2. root and the user skeleton is now configured to use fvwm.

3. For a fun demo of ghostscript, use xfm to cd into 
   /usr/lib/ghostscript/examples, and drag/drop any of the examples 
   onto the xfm application "ghostscript".

3. if you rebuild the kernel, be sure to run "ps -U" to update

4. if you are new to Linux, be sure to try the four virtual terminals,
   available with -F1 thru -F4. Under X-windows,
   the virtual terminals are reached with --F1 thru F4,
   and you return to X with -F5.

5. You can use the boot disk for maintenance (in case of filesystem
   problems, the disk has e2fsck), or for reinstallation from your
   own backup set.

6. to make a backup compatible with the installation disk:
   [cd /]
   [tar cf - .|gzip|label -o /dev/fd0H1440 ]
   (or as appropriate for your floppy)

questions/comments to:
dave safford

Rebuilding the kernel:
1. cd /usr/src/linux
2. run "make config"
   This will ask which optional devices you want in the kernel.
3. run "make dep"
4. run "make clean"
5. run "make"
6. install the kernel:
	cp zImage /vmlinuz
That's it!

***SIMPLIFIED X Window Configuration!!!!
***YOU have GOT to try this!!!
***(it even works for trident cards!)

In /usr/lib/X11 there are several Xconfig templates:
	Xconfig.hostname -  *DEFAULT* - working copy of Xconfig.1M
	Xconfig.1M       -  the install version for 1MB vga cards
	Xconfig          -  working copy of Xconfig.master
	Xconfig.master   -  standard X11 release version (manual install)
	Xconfig.drs      -  this is my tailored copy of Xconfig.1M

By default, when you run "startx", the server will use Xconfig.tamu,
as the hostname is "tamu". This file is a working copy of the .1M
easy installation version for 1MB vga cards.  If your vga card has
only 512K bytes of memory, it can not run in the 1024x768 resolution
modes, so you need to delete these modes from the Xconfig file. If
you are running on a notebook, you probably can use only the 640 x 480

Then, in Xconfig.tamu:

1. check the mouse definitions, and if necessary, comment out the default
   (microsoft mouse on ttyS0, aka com1:) and uncomment the line
   corresponding to your mouse type and port. 
   If your mouse has 3 buttons, comment out the "Emulate3Buttons" line.

2. run "xinit"
   There will be 48 available "modes" that are essentially all possible
   combinations of clocks and resolutions. You can cycle through all of
   these modes by pressing control-alt-keypad+.  (If your vga card has
   512K, there will be only 32 modes). The modes are named "1" through
   "48" and appear in that order.  Most of these modes will show
   garbage on your screen. Jot down the number (ie 1 - 48) of any
   mode that presents a reasonable display (minor size or x/y offset
   errors can be trimmed out later.) Hopefully you will find at least
   one good mode for each of 1024x768, 800x600, and 640x480 display
   resolutions.  Exit X using control-alt-backspace, and then edit
   Xconfig.tamu, to delete the "bad" mode numbers out of the "Modes"
   line, leaving just the few good ones you jotted down. (You can look 
   at my final version in Xconfig.drs, which left just three modes on 
   the "Modes" line.)

That should be it! No puzzling over the vga database, frequencies,
clocks, or dot calculations!  This has been tested on several machines
with Tseng, trident, and paradise cards.  On my own tseng clone,
in 1 minute I discovered two very nice modes that I had missed in
hours of testing using other methods!

(2.1 If necessary, you may need to tweak the dot values in the corresponding
   mode entries in the ModeDB section, if the display is a little off center.
   Each mode line in the ModeDB section has 4 numbers for horizontal dots,
   and four numbers for vertical dots. If the display is a little off in
   the horizontal or vertical position, try adjusting the MIDDLE two
   numbers in the respective horizontal or vertical set by 10 or 20 dots.
   This needs to be done by trial and error, but at least you have a good
   starting point. ) 

MANUAL X Window Configuration Instructions

    If for some reason the simplified method doesn't work, you will
    need to delete Xconfig.tamu, and manually edit the basic Xconfig file.
    First, read the man pages on X and X386.
    There are basically two steps in configuring X.  The mouse configuration
    and the screen configuration.  Both are done by editing the "Xconfig"
    file.  I will describe these by explaining what the certain lines in
    "Xconfig" mean and how to use appropriate values in them.

1.  Let us first turn to the mouse configuration.  There are two things
    to consider: what is the type of your mouse and which COM port it
    is connected to.  
    known mice are: Microsoft, MouseSystems, MMseries, Logitech.  The
    second argument is the COM port or the serial line.  Legal values here
    are "/dev/ttys0", "/dev/ttys1", "/dev/ttys2", "/dev/ttys3".

    Now enter these in the "Xconfig" file.

    Go to the /usr/X386/lib/X11 directory and edit the "Xconfig" file.
    Find the section that describes the mice.  Look for the line similar
    to the following:

              Microsoft     "/dev/ttys2"

    [ cd /usr/X386/lib/X11 ]
    [ vi Xconfig ]

 3. If you have a two button mouse, you will need to emulate 3 buttons.
    To do this just uncomment the line


    (This will make the simultaneous click of both buttons behave as your
    middle mouse button.)

 4. Save "Xconfig" and exit the editor.

    (Let us now turn to the video side of X.  There are 5 things to
    consider.  All four of these appear as lines in "Xconfig".

       1. Chipset -- the chipset of your video card
       2. Clocks -- the driving frequencies of your video card
       3. Modes -- the resolutions, e.g., 800x600, of screen
       4. Virtual -- the "virtual" screen size -- more later
       5. ModeDB -- timing information

    You may be able to get the first four from a vga database of
    known working configurations.  The database is in /usr/X386/lib/X11/doc
    directory and is called "vga.dbase".  Look for your video card in
    that file.  The entry corresponding to my setup looked like this:

         # Card:                 Orchid Prodesigner II
         # Contributor:          John LoSecco []
         # Last Edit Date:       10/20/91
         # chip    ram   virtual    clocks                   default-mode  flags
          ET4000  1024  1152 900    25 28 32 36 40 45 50 65  "800x600"

    Look at the last line.  The chipset is "ET4000", clocks are "25 28 32 40
    45 50 65", the mode is "800x600" and virtual screen size is 1152x900.
    If you don't find an entry in the database corresponding to your
    configuration, use your video board's manual.

    Let us look at these 5 Xconfig lines one at a time.  The "Chipset" line
    specifies the chipset used by your video card.  The supported values are
    "et4000", "et3000", "gvga", "pvga1".  This is probably not an exhaustive
    list, there may be more.  You can get your chipset from the "vga.dbase"
    file, or your video card's user's manual, or by opening up your PC and
    looking at the video card and reading the numbers painted on the chip.
    My "Chipset" line looks like this:

        Chipset "et4000"

    The  "Clocks line specifies the driving frequencies that your video
    card supports.  This information can be obtained from several sources.
    You may look it up in "vga.dbase" file, if an entry for your video
    card exists.  You may also look it up in your video card's manual.
    The third method is to run the X server and catch its startup output
    in a file and then read it from that file.  To do that do the

        a. Comment out the Clocks line from "Xconfig" file
        b. Start the X server with "startx" command
        c. Read the line starting with "clocks" and note
           down the printed values

    My "Clocks" line looks like this:

        Clocks 25 28 32 36 40 45 50 65

    The "Modes" line specifies the resolution of your screen.  The standard
    values are "640x480", "800x600", "1024x768i", "1024x768", "1280x1024i",
    "1280x1024".  These are the standard values, others are certainy
    possible.  You should choose the highest mode that your video card
    supports.  I will describe shortly how to determine which value to
    use.  For the time being we will stop at saying that this is the
    number of pixels that your monitor will display on screen.

    My "Modes" line looks like this:

        Modes     "1024x768"

    The "Virtual" line specifies the virtual resolution of your screen.  This
    resolution is the same as or larger than your "Modes" resolution.  Think
    of virtual resolution as being the area that your programs think your
    screen is.  The real resolution is a sliding window on your virtual
    screen that lets you view part of the virtual screen at a time.  For
    example, you could make your virtual screen 1152 by 900 and your real
    screen 1024 by 768.  When the X server starts, you will be looking
    at the top left corner of the 1152 by 900 screen.  As you bring the
    mouse to the right edge of the screen, your screen will scroll to
    the right to show the 128 horizontal pixels that could not be shown

    My "Virtual" line looks like this:

        Virtual 1024 768

    And now to bring the whole thing together, we will discuss the "ModeDB"
    lines.  You should find the "ModeDB" line at the end of the "Xconfig"
    file.  You should not need to change these.  If you do, use the values
    found in "Xconfig.sample" first since these are the standard.

    Your video card is usually capable of driving your monitor at several
    frequencies.  These are the "Clocks" that we saw before.  These numbers
    are the clock frequencies in Mega Hertz.  The higher resolution you
    choose, the higher driving frequencies are needed.  Its only natural,
    since you need to paint more pixels, you need to do it faster, otherwise
    the previous pixels will fade before you can paint them again.  And this
    fading is the cause of flicker in monitors.  You wish to use the
    highest resolution that your video card can drive and that your video
    card has the memory to support.

    Let us look at a "ModeDB" line:

        # name        clock   horizontal timing     vertical timing      flags
         "1024x768"    65     1024 1032 1176 1344    768  771  777  806

    The first entry is the name of the "Mode", in this case "1024x768".  The
    second entry is the frequency needed to drive this mode, in this case
    65MHz.  From my "Clock" line above, I know that my card has a 65MHz
    clock.  The next eight numbers are the horizontal and vertical timings
    at that resolution and clock.

    There is one more thing that I need to ensure before I can be certain
    that my hardware will support this resolution: Video memory.  In order
    to display 1024 by 768 pixels at each pixel taking a byte of memory, I
    will need 1024 x 768 = 768 KB.  Since my video card has 1 MB of memory,
    I am OK.  If I had only 512 KB of video memory, I could only use the
    800 x 600 mode as my highest resolution since it only requires 468.75 KB
    of memory.  Since the virtual screen is stored in video memory, this
    restriction applies to the "Virtual" screen resolution also.

    My "ModeDB" lines look like this:

# OFFICIAL VESA Monitor timings + IBM Standards - TRY THESE FIRST
# Contributor:          Thomas Roell []
# Last Edit Date:       3/29/92
# name        clock   horizontal timing     vertical timing      flags
 "640x480"     25      640  664  760  800    480  491  493  525
               31      640  664  704  832    480  489  492  520
 "800x600"     36      800  824  896 1024    600  601  603  625
               40      800  840  968 1056    600  601  605  628
               50      800  856  976 1040    600  637  643  666
 "1024x768i"   44     1024 1040 1216 1264    768  777  785  817  Interlace
 "1024x768"    65     1024 1032 1176 1344    768  771  777  806
               75     1024 1048 1184 1328    768  771  777  806
               85     1024 1032 1152 1360    768  784  787  823
 "1280x1024i"  80     1280 1296 1512 1568   1024 1025 1037 1165  Interlace
 "1280x1024"  110     1280 1328 1512 1712   1024 1025 1028 1054
              135     1280 1312 1456 1712   1024 1027 1030 1064

    Once again, let me enphasize that one of the clocks supported by your
    video card must EXACTLY MATCH the clock shown in the above table.  If
    it doesn't, then you can look in some of the other "Xconfig" files for
    an entry that matches your clock and mode--and can be supported by
    your video memory.  If you still don't find an entry, you can make
    your own entry by following the instructions given in
    "/usr/X386/lib/X11/doc/video.tutorial".  If that happens, Good Luck!)

 5. Edit "Xconfig" and modify the "Chipset", "Clocks", "Modes", "Virtual", 
    and "ModeDB" lines as described above.

    My entries look like this:

        Chipset "et4000"
        Clocks 25 28 32 36 40 45 50 65
        Modes     "1024x768"
        Virtual 1024 768
# OFFICIAL VESA Monitor timings + IBM Standards - TRY THESE FIRST
# Contributor:          Thomas Roell []
# Last Edit Date:       3/29/92
# name        clock   horizontal timing     vertical timing      flags
 "640x480"     25      640  664  760  800    480  491  493  525
               31      640  664  704  832    480  489  492  520
 "800x600"     36      800  824  896 1024    600  601  603  625
               40      800  840  968 1056    600  601  605  628
               50      800  856  976 1040    600  637  643  666
 "1024x768i"   44     1024 1040 1216 1264    768  777  785  817  Interlace
 "1024x768"    65     1024 1032 1176 1344    768  771  777  806
               75     1024 1048 1184 1328    768  771  777  806
               85     1024 1032 1152 1360    768  784  787  823
 "1280x1024i"  80     1280 1296 1512 1568   1024 1025 1037 1165  Interlace
 "1280x1024"  110     1280 1328 1512 1712   1024 1025 1028 1054
              135     1280 1312 1456 1712   1024 1027 1030 1064

    (You should now be done with the configuration, so save the file
    and start the X server.)

 6. Save "Xconfig" and exit the editor.

 7. Start X by using the "startx" command.

    [ cd / ]
    [ startx ]

    (If everything works fine, you should be in X.  If they don't here are
    some things to check for:

    a.  If there is a grey pattern on the screen and the pointer is shaped
        like an X, but the mouse movement and keyboard activity does not
        generate a response,

        then, your mouse is probably configured incorrectly.  Reboot your
        system--recall that the system is not responding to mouse and keyboard
        activity and you don't have a choice.  Check the mouse with the
        "mouse" program as described earlier and make sure that the
        corresponding entry is correct in the "Xconfig" file.

    b.  If the server does not start and gives among may other lines a
        blurb along "not enough memory for the virtual resolution",

        then, you don't have enough memory for the virtual resolution that
        you specified.  Remember that virtual screen is kept in video
        memory and therefore its size is restricted by available memory
        the same way as the real resolution.  Make your virtual screen
        size smaller to something you can fit in available memory.

    c.  X comes up, but your pointer breaks up as you go to the right edge
        of the screen,

        then, the "ModeDB" entry is incorrect for your card.  Make sure that
        your chosen "Modes" resolution and one of your available "Clocks"
        MATCHES EXACTLY on of the entries under "ModeDB".  Remember,
        you should try one of the standard ones first and if these don't
        work try others.  Also, you can create your own by following the
        instructions in /usr/X386/lib/X11/video.tutorial.