  The Linux ``Linux-DOS-Win95-OS2'' mini-HOWTO
  Mike Harlan, r3mdh@raex.com
  v1.3.1, 11 November 1997

  This document presents a procedure to make 4 operating systems co-
  exist on a single hard disk.
  ______________________________________________________________________

  Table of Contents


  1. Introduction

  2. The Procedure

  ______________________________________________________________________


     Disclaimer:
        Any damages inflicted on any machine by you as a result of your
        reading of this HOWTO is still YOUR FAULT. When you read about
        deleting partitions and formatting disks, be smart.  Realize
        that doing any of the above will result in loss of data.  So,
        BACKUP SOON, BACKUP OFTEN.  This is your second-to-the-last
        warning.


     Stuff to make the lawyers happy:
        Unless otherwise stated, Linux HOWTO documents are copyrighted
        by their respective authors. Linux HOWTO documents may be
        reproduced and distributed in whole or in part, in any medium
        physical or electronic, as long as this copyright notice is
        retained on all copies.  Commercial redistribution is allowed
        and encouraged; however, the author would like to be notified of
        any such distributions.

        All translations, derivative works, or aggregate works
        incorporating Linux HOWTO documents must be covered under this
        copyright notice.  That is, you may not produce a derivative
        work from a HOWTO and impose additional restrictions on its
        distribution.  Exceptions to these rules may be granted under
        certain conditions; please contact the Linux HOWTO coordinator
        at the address given below.

        In short, we wish to promote dissemination of this information
        through as many channels as possible. However, we do wish to
        retain copyright on the HOWTO documents, and would like to be
        notified of any plans to redistribute the HOWTOs.

        If you have any questions, please contact Tim Bynum, the Linux
        HOWTO coordinator, at linux-howto@sunsite.unc.edu via email.


     Updates from v1.3:

     o  Updated my e-mail address.  My address has changed from
        r3mdh@imperium.net to r3mdh@raex.com.

     Updates from v1.0:

     o  Updated my e-mail address.  My address has changed from
        r3mdh@dax.cc.uakron.edu to r3mdh@imperium.net.


  Now...........on with the show!

  1.  Introduction

  After many days of struggle and frustration, I finally figured out how
  to accomplish what I wanted.  I have a 1.2GB HD and 16MB RAM PC.  I
  wanted to have 4 operating systems on my system:  MSDOS v6.22, Windows
  95, OS/2, and Linux.  Until now, I have found no Linux HOWTO to
  perform the task of getting each and every one of these operating
  systems on one machine and still have the ability to boot each (it is
  possible to write the OSs to different partitions, but getting them to
  boot and not hang at the ``Starting MSDOS'' message, for example, is
  something that I had to figure out.  Well, after much trial and error,
  I have come up with the following recipe to perform this feat:

  Before I begin going through the procedure step-by-step, let me first
  clue you in on what I eventually wish to accomplish:


       <NAME>                      <SIZE>   <LABEL>  <PARTITION NUMBER>
       ---------------------------------------------------------------------
       MSDOS v6.22                   11MB   P1       Primary Partition 1
       ---------------------------------------------------------------------
       Windows '95                  350MB   P2       Primary Partition 2
       ---------------------------------------------------------------------
       OS/2 Boot Manager              2MB   P3       Primary Partition 3
       ---------------------------------------------------------------------
       DOS/Win Data                 511MB   E1       Primary Partition 4
       OS/2 Warp 3.0                127MB   E2       Extended into 4 logical
       Linux Slakware 3.2 Swap        XMB   E3       drives (sub-partitions)
       Linux Slakware 3.2 Native  219-XMB   E4       labeled E1-E4
       ---------------------------------------------------------------------

  What does all of this mean? Well, let me talk you through it.  First,
  we need to use up all 4 partitions on our 1 harddrive.  Partitions 1
  through 3 are PRIMARY partitions.  We will store MSDOS, Win95 and the
  OS/2 Boot Manager (which inefficiently requires its OWN partition) on
  these partitions, respectively. We then have 1 partition left.  But,
  we want to have a drive just for DOS/Win95 data (this gives us a large
  place to dump all of those ZIP files we so often download from the
  Internet as well as a place to store Win95 programs and data that we
  don't have enough room for on the Win95 partition), OS/2, and Linux
  (both a Linux native as well as Linux swap partition).

  Now, I've been getting a lot of grief through e-mail lately about why
  I have a separate partition for Win95 and one for DOS and one for
  Win95/DOS data.  Here's my answer: having separate Win95 and DOS
  partitions isn't for everyone.  Perhaps you don't even use DOS
  anymore.  Perhaps Windows '95 is your answer for any software written
  for a Microsoft platform. Well, there are some people out there who
  still use DOS and can't live without it. Whether it's because DOS can
  run 16-bit applications faster and more efficient, or because the
  certain DOS program that you may use won't run under a Windows
  environment (the Gravis Ultrasound soundcard setup program comes to
  mind), you simply MUST be able to boot into DOS from time to time.
  This HOWTO was written with those people in mind.  If you still have
  difficulty swallowing the fact that the word ``MSDOS'' is included in
  this HOWTO, then feel free to sit down and write a Linux-
  Win95-OS/2-only HOWTO.  :)

  Now, back to the diagram above.  Like I said, we have 1 partition to
  cram 4 things onto: DOS/Win data, OS/2, and Linux native & swap.  This
  can be done by creating what are called logical drives (or logical
  partitions, depending on which book you read) within the 1 primary
  partition.  When we create these logical drives within a primary
  partition, we refer to this primary partition as an EXTENDED PARTITION
  (because it is extended beyond the scope of a single, primary
  partition and instead contains up to 3 subpartitions (logical
  drives)). Confused?  If so, you might want to read the OS/2 manual
  about this topic. It will explain it better than I have here.

  Now, you might be scratching your head saying ``he wants to cram 4
  things onto that extended partition, but he just got done saying we
  can only have 3 subpartitions to put them on!''  This is true, at
  least in MS-DOS's and OS/2's reasoning.  But, here one of the many
  powerful advantages to Linux comes to save the day.  Linux can create
  more than 3 subpartitions on an extended drive.  Just how many, I
  don't know.  But, I know it can create at LEAST 4 (what we need).  So,
  when we go through the steps of the installation procedure below, keep
  in mind that when we create partitions using an MSDOS or OS/2 program,
  we will only create 3 logical drives.  Then, when we go to Linux, we
  will split one of them into two.  Essentially, you can think of it as
  ``tricking'' MSDOS and OS/2 into seeing only 3 logical drives, but in
  reality (and to Linux), there will be 4.

  2.  The Procedure


     NOTE:
        Numbers in parentheses were the number of megabytes that I used
        on my 1.2GB harddrive.

  Now, let's move on to the step-by-step procedure:

  1. Run view.exe on the Linux Slakware CD and create the Linux Boot and
     Linux Root floppies.  For some reason, the Linux bootstrap program
     calls the Root disk the Ramdisk floppy. I'll refer to this disk
     from now on as the Ramdisk (Root) floppy.

  2. Backup any information that you wish to keep to tape (or whatever
     media you have available to you).

  3. Boot your original MSDOS installation floppy, disk 1.

  4. When ``Starting MSDOS'' appears, press F5 to bypass config.sys and
     autoexec.bat.

  5. Run a:\fdisk.exe.

  6. Delete all partitions (you have been warned: DELETING / MODIFYING
     OF ANY PARTITION WILL RESULT IN THE LOSS OF ALL DATA ON THE DISK!).

  7. Add an MSDOS primary partition. (11MB)

  8. Format this partition.

  9. Run a:\setup.exe to install MSDOS on this partition.

  10.
     Boot OS/2.

  11.
     Select Advanced installation.

  12.
     Run FDISK.  (this will eventually popup for you if you run through
     the OS/2 installation)


  13.
     Add 1 primary partition after the MSDOS one.  This will become our
     Windows 95 partition. (349MB)

  14.
     Add the Boot Manager to the next primary partition. (2MB)

  15.
     Add an extended partition.

  16.
     Add a logical drive to the extended partition.  This will become
     the data portion of our MSDOS system. (511MB)

  17.
     Add another logical drive to the extended partition.  This will
     become our OS/2 HPFS (``High Performance File System'') partition.
     (127MB)

  18.
     Add 1 last logical drive to the extended partition using the
     remaining space on the drive.  This will later become 2 partitions
     under Linux -- our swap partition and our native Linux partition.
     But, since OS/2 (and DOS as well) can only write up to 6 partitions
     per drive (3 primary and 3 logical drives housed within 1 extended
     partition), we have to create only one at this time. And we DO have
     to create this partition.  Don't leave this as free space and
     expect Linux to be able to create the two partitions. Due to the
     way that OS/2's FDISK works, where you add your last logical drive
     to the extended partition marks the END of the extended partition.
     You cannot add partitions beyond this point.  So, in other words,
     creating this one last logical drive serves as a space-filler for
     Linux. Later we will delete this partition and add 2 new ones in
     the space that it once took up.

  19.
     Add partitions 1, 2, and 5 to the Boot Manager.

  20.
     Make partition 5 installable.

     Your FDISK screen should now look like this (or something like
     this):


       ______________________________________________________________________

                                      FDISK

       Disk 1
       ___________________________________________________________________________

       Partition Information
       Name            Status          Access          FS Type         MBytes
       ___________________________________________________________________________

       MSDOS           Bootable        C: Primary      FAT              11
       WIN 95          Bootable         : Primary      FAT             350
                       Startable        : Primary      BOOT MANAGER      2
                       None            D: Logical      Unformatted     511
       OS/2            Installable     E: Logical      FAT             127
                       None            F: Logical      Unformatted     219

       ______________________________________________________________________


  21.
     Continue on with the OS/2 installation process.

  22.
     Reboot and select partition 2 (Windows 95) from the Boot Manager.

  23.
     When the missing operating system error pops up, boot your MSDOS
     installation disk.  We selected this partition in order to ``hide''
     the MSDOS partition.  OS/2's Boot Manager is a bit strange. For
     every bootable partition you have (in our case, MSDOS and OS/2),
     you can have only one of them visible at a time. What this means is
     that if you boot into one partition, MSDOS for example, the other
     partition (Win95) is invisible. The MSDOS partition and Win95
     essentially SHARE a drive letter. That's why under ``Access''
     above, MSDOS has drive letter C and Win95 has no drive letter.
     Under the current circumstances, MSDOS is visible with drive letter
     C and Win95 is invisible with no drive letter. If we were to boot
     Win95, the opposite would be true: MSDOS would be invisible with no
     drive letter and Win95 would be visible with drive letter C.  An
     invisible drive cannot be accessed AT ALL.  If you wish to copy
     files between two drives in which only one can be visible at one
     time, you must use a common (non-bootable) drive to swap files.  In
     our case, the DOS/Win95 Data drive (drive D 511MB above) will serve
     as this common drive. You might be asking ``Won't we eventually be
     booting Linux also?''.  The answer is yes, we will. But let's not
     get into that just yet.

  24.
     Install MSDOS to Partition 2 (we'll need this in order to install
     Windows 95).

  25.
     Boot Partition 2.

  26.
     Install Windows 95 to this partition (if you are running the
     upgrade version of Win95, you may need to have your Win3.1
     installation disk 1 ready to insert).

  27.
     Boot Partition 1.

  28.
     Format Partition 4.

  29.
     Restore DOS data from tape (if any) to partitions 1 and 4.

  30.
     Boot the Linux Boot Floppy.

  31.
     Follow up with the Linux Ramdisk (Root) floppy.

  32.
     When you log in as root and get to the # prompt, type ``fdisk'' and
     press enter.

  33.
     Delete the last partition (the one we created in step 18).

  34.
     Add 1 16MB partition and tag it as filesystem type Linux Swap.
     (17MB)

  35.
     Add 1 last partition with the remaining cylinders on the disk and
     tag this as filesystem type Linux native. (198MB)

  36.
     Write the changes to the boot sector and reboot.

  37.
     When you get to the # prompt again, run setup.

  38.
     Install Linux to the last partition.

  39.
     When you install LILO, be sure to install it to the root of the
     last partition (NOT to the MBR, as you will destroy all of your
     previous work in this HOWTO if you do so). Add only the last
     partition to LILO and set the timer to zero. By doing this, when
     you select Linux from the OS/2 Boot Manager, LILO will activate and
     will then boot  Linux from the logical drive on the extended
     partition. Since Linux is the only partition that we wish to
     activate from LILO, we don't need a timer on it (unless you have
     more than one Kernel that you wish to load.  In this case, you may
     want to set the timer to something more than 0 seconds).

  40.
     Activate the Linux swap partition (refer to the Linux Installation
     and Getting Started Manual by Matt Welsh for this).

  41.
     Boot OS/2.

  42.
     Run FDISK.

  43.
     Add Linux to the Boot Manager using the Linux NATIVE partition
     (type 83 not 82!).

     Your FDISK screen should now look like this (or something like
     this):


       ______________________________________________________________________

                                      FDISK

       Disk 1
       ___________________________________________________________________________

       Partition Information
       Name            Status          Access          FS Type         MBytes
       ___________________________________________________________________________

       MSDOS           Bootable        C: Primary      FAT              11
       WIN 95          Bootable         : Primary      FAT             350
                       Startable        : Primary      BOOT MANAGER      2
                       None            D: Logical      FAT             511
       OS/2            Bootable        E: Logical      HPFS            127
                       None             : Logical      Type 82          17
       Linux           Bootable         : Logical      Type 83         198
       ______________________________________________________________________

  ...And you're done!

  Send any comments/suggestions/problems (as a last resort, please!)  to
  me at r3mdh@raex.com.

  Mike Harlan, 11 NOV 1997

