.*
.* $Header: D:/ext2-os2/doc/RCS/INSTALL.IM,v 1.2 1995/08/17 09:44:38 Willm Exp Willm $
.*
.* Linux ext2 file system driver for OS/2 2.x and WARP - Allows OS/2 to
.* access your Linux ext2fs partitions as normal drive letters.
.* OS/2 implementation : Copyright (C) 1995 Matthieu WILLM
.*
.* This program is free software; you can redistribute it and/or modify
.* it under the terms of the GNU General Public License as published by
.* the Free Software Foundation; either version 2 of the License, or
.* (at your option) any later version.
.*
.* This program is distributed in the hope that it will be useful,
.* but WITHOUT ANY WARRANTY; without even the implied warranty of
.* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
.* GNU General Public License for more details.
.*
.* You should have received a copy of the GNU General Public License
.* along with this program; if not, write to the Free Software
.* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
.*******************************************************************************
.*** IV - Installation instructions ***
.*******************************************************************************
.nameit symbol=titre_400 text='Installation instructions'
.nameit symbol=titre_410 text='Step 0 - Safety precautions ......'
.nameit symbol=titre_420 text='Step 1 - Make OS/2 see your Linux &EXT2FS. partitions'
.nameit symbol=titre_430 text='Step 2 - Copying the files to your hard drive'
.nameit symbol=titre_440 text='Step 3 - Using the ext2 debug window'
.nameit symbol=titre_450 text='Step 4 - Specifying command line parameters'
:h1.&titre_400.
This chapter describes the installation and setup instructions
:sl compact.
:li.:link reftype=hd refid=410.&titre_410.:elink.
:li.:link reftype=hd refid=420.&titre_420.:elink.
:li.:link reftype=hd refid=430.&titre_430.:elink.
:li.:link reftype=hd refid=440.&titre_440.:elink.
:li.:link reftype=hd refid=450.&titre_450.:elink.
:esl.
:h2 id=410.&titre_410.
:ul compact.
:li.I STRONGLY suggest you to first backup any data you don't want to loose BEFORE trying this driver.
:li.Make a backup copy of your CONFIG.SYS
:li.Have the two OS/2 kicker diskettes handy ,
with a full screen editor, so that you can restore your CONFIG.SYS if the system crashed at boot time.
(This is not needed with WARP : Alt+F1 C at boot time will do the trick)
:li.Prepare a Linux boot diskette, with e2fsck on it.
:eul.
:h2 id=420.&titre_420.
This chapter describes how to make OS/2 see your Linux &EXT2FS. partitions
:h3. Understanding how does OS/2 assign drive letters
OS2DASD.DMD is the block device managing fixed partitionnable disks and floppies. It is
always (as far as I know) the first block device loaded by the system. It first scans every .add
drivers for physical disks. Then it reads the partition table of each disk. It first looks for
active primary OS/2 partitions (Types 01, 04, 06 and 07) and installs a block device for each of them
It repeats this for each physical drive in the system.
Then it looks for extended volumes on the first physical drive (type 05 partition), reads
the extended boot record, looks for an OS/2 partition and assign it a drive letter, looks for another
extended volume ... and so on until no more extended volume is found on the first disk. It them repeats
this for each physical drive.
.br
.br
Example :
:xmp.
&sqbul. Scans all *.add driver for fixed disks - found 2
&sqbul. Reads the MBR of physical disk 1
&sqbul. Found an OS/2 type 7 partition (active primary OS/2 IFS) - Install a block device (C&colon.)
&sqbul. Found an unknown type 0x83 partition - skip it
&sqbul. Found an OS/2 type 5 partition (extended volume) - skip it
&sqbul. No more primary partition
&sqbul. Reads the MBR of physical disk 2
&sqbul. Found an OS/2 type 7 partition - Install a block device (D&colon.)
&sqbul. Found an unknown type 17 (inactive primary OS/2 IFS) - skip it
&sqbul. Found an OS/2 type 5 partition (extended vol) - skip it
&sqbul. No more primary partition
Now done for primary partitions - processing extended volumes
&sqbul. Reread the MBR of physical disk 1
&sqbul. Found an OS/2 type 5 partition (extended volume)
&sqbul. Reads the extended boot record of the extended volume
&sqbul. Found a OS/2 type 7 partition - Install a block device (E&colon.)
&sqbul. Found an OS/2 type 5 partition
&sqbul. Reads the extended boot record
&sqbul. Found a OS/2 type 7 partition - Install a block device (F&colon.)
&sqbul. No more partition
&sqbul. Reread the MBR of physical disk 2
&sqbul. Found an OS/2 type 5 partition (extended volume)
&sqbul. Reads the extended boot record of the extended volume
&sqbul. Found a OS/2 type 7 partition - Install a block device (G&colon.)
&sqbul. No more partition
:exmp.
:p.
:link reftype=hd refid=994.Make OS/2 see your Linux &EXT2FS. partitions :elink.
:h3 id=994. Make OS/2 see your Linux &EXT2FS. partitions.
:p.
During "normal" operations, OS/2 will not assign a drive letter to the Linux partitions,
because their type (0x83) is not one of the types OS/2 normally recognize. An installable
file system driver does not have any control on how block devices are assigned : this is a
device driver issue. If we don't do anything, the &EXT2FS. IFS won't be very useful, since OS/2
doesn't even call it (no block device allocated).
:p.
In order for OS/2 to see your &EXT2FS. partition, you must either change your
Linux &EXT2FS. partition ID from 0x83 (Linux native) to 0x7 (OS/2 IFS - and not
OS/2 HPFS as stated in the Linux fdisk documentation), or make OS/2 think
type 0x83 partitions are type 0x7 partitions.
:p.
In the first case we must manually alter the partition table, and in the second case
we must use a special filter device driver - ext2flt.flt - whose purpose is to show
a "hacked" partition table to OS2DASD.DMD.
:p.
:color fc=red bc=default.
BE CAREFUL : IF YOU DECIDE TO CHANGE PARTITION ID MANUALLY BE AWARE THAT
IT CAN CHANGE YOUR DRIVE LETTERS AND MAKE OS/2 UNBOOTABLE !!
:color fc=default bc=default.
:p.
Examples being better than a long speach, let's look at some different situations :
:sl compact.
:li.:link reftype=fn refid=0001.Example 1:elink.
:li.:link reftype=fn refid=0002.Example 2:elink.
:li.:link reftype=fn refid=0003.Example 3:elink.
:esl.
.***********************************************
.*** Example 1 ***
.***********************************************
:fn id=0001.
:p.
This is an example where drive letters won't be changed when you toggle the &EXT2FS. partition ID from
0x83 to 0x7. ext2flt gives the same result without having to alter the partition table.
:p.
Before
:xmp.
Physical Description Partition Drive Type Status
drive ID letter
1 Boot mgr 0a - - Startable
1 OS/2 07 C: Extended Bootable
1 Linux &EXT2FS. 83 - Extended Bootable <=== We toggle it from 0x83 ...
:exmp.
:p.
If we toggle the &EXT2FS. partition type
:xmp.
Physical Description Partition Drive Type Status
drive ID letter
1 Boot mgr 0a - - Startable
1 OS/2 07 C: Extended Bootable
1 Linux &EXT2FS. 07 D: Extended Bootable <=== ... to 0x07
:exmp.
:p.
If we use ext2flt.flt
:xmp.
Physical Description Partition Drive Type Status
drive ID letter
1 Boot mgr 0a - - Startable
1 OS/2 07 C: Extended Bootable
:color fc=pink bc=default.
1 Linux ext2fs 07 D: Extended
:color fc=default bc=default.
:exmp.
:p.
The pink partition is the one as shown by ext2flt.flt to OS/2.
:efn.
.***********************************************
.*** Example 2 ***
.***********************************************
:fn id=0002.
.br
In this case, the OS/2 drive letter is changed from C: to D: when you change the Linux partition ID.
If you want to use the ext2 IFS driver you'll have to use ext2flt.flt so
that the ext2fs partition appears after the OS/2 partition.
:p.
Before
:xmp.
Physical Description Partition Drive Type Status
drive ID letter
1 Boot mgr 0a - - Startable
1 Linux ext2 83 - Primary Bootable <=== We toggle it from 0x83 ...
1 OS/2 System 07 C: Extended Bootable
:exmp.
:p.
If we toggle the partiton ID, the drive letters change :
:xmp.
Physical Description Partition Drive Type Status
drive ID letter
1 Boot mgr 0a - - Startable
1 Linux ext2 07 C: Primary Bootable <=== ... to 0x07
1 OS/2 System 07 D: Extended Bootable
:exmp.
:p.
The solution is to use ext2flt.flt :
:xmp.
Physical Description Partition Drive Type Status
drive ID letter
1 Boot mgr 0a - - Startable
1 OS/2 System 07 C: Extended Bootable
:color fc=pink bc=default.
1 Linux ext2 07 D: Extended
:color fc=default bc=default.
:exmp.
:p.
The pink partition is the one as shown by ext2flt.flt to OS/2.
:efn.
.***********************************************
.*** Example 3 ***
.***********************************************
:fn id=0003.
:p.
In this case, you cannot use the ext2 IFS driver alone and you are a good
candidate for using ext2flt.flt. This is because only ONE primary partition can be
active. ext2flt.flt will make your ext2fs partition
appear as an extended volume located after your OS/2 partition.
:p.
:xmp.
Physical Description Partition Drive Type Status
drive ID letter
1 Boot mgr 0a - - Startable
1 Linux ext2 83 - Primary Bootable
1 OS/2 System 07 C: Primary (active) Bootable
:exmp.
:p.
If we use ext2flt.flt :
:xmp.
Physical Description Partition Drive Type Status
drive ID letter
1 Boot mgr 0a - - Startable
1 OS/2 System 07 C: Primary (active) Bootable
:color fc=pink bc=default.
1 Linux ext2 07 D: extended
:color fc=default bc=default.
:exmp.
:efn.
:h2 id=430.&titre_430.
:p.
To install the files on your hard drive :
:ol compact.
:li.Open the "OS/2 System" folder
:li.Open the "System Setup" folder
:li.Open the "Device Driver Install" object
:ol compact.
:li.Type in the "source directory" entry field the path where you decompacted the files
:li.Type in the "target directory" your OS/2 boot drive
:li.Click on the "Install..." push button
:li.Select the driver to install :
:ul compact.
:li."Linux ext2fs file system driver (IFS) version &VERSION. for OS/2" (mandatory)
:li."ext2flt - Filter to make Linux partitions visable to OS/2." (if you want/need to use ext2flt.flt)
:eul.
:li.Click on OK
:eol.
:li.Add <boot drive>&colon.\OS2\FS\EXT2 to the PATH statement in CONFIG.SYS
:li.Set and/or change command line parameters (this is especially true for ext2flt)
:li.Reboot your computer
:eol.
:h2 id=440.&titre_440.
If you want to get some debug info to try to identify a problem, run the program ext2-os2.exe. It
is a kind of output console for the IFS driver in which it can prinf() anything it wants.
:h2 id=450.&titre_450.
:p.
ext2-os2 command line in CONFIG.SYS :
:xmp.
IFS = <drive>&colon.<path>\ext2-os2.ifs :link refid=0011 reftype=fn.[-q]:elink. :link refid=0012 reftype=fn.[-cache&colon.<disk cache size>]:elink. :link refid=0013 reftype=fn.[-rw]:elink. :link refid=0014 reftype=fn.[-no_auto_fsck]:elink.
:exmp.
:p.
NOTE : case is not significant (-q and -Q are equivalent), and '-' as well
as '/' can be used as a command line switch
:fn id=0011.
:p.
[-q] : quiet initialization of ext2-os2.ifs (no banner during boot). Default is verbose initialization.
:efn.
:fn id=0012.
:p.
[-cache&colon.<disk cache size>] Specify the per volume disk cache size in
kilobytes. Values from 256 Kb to 60*64 are allowed. Default is 256 Kb.
Since the cache algorithm is still primitive, huge cache sizes won't
probably improve performance.
:efn.
:fn id=0013.
:p.
[rw] : enable write access. Default is write disabled.
:nt.
If you use ext2flt, don't forget to enable write access on the ext2flt.flt
command line. (/W switch)
:ent.
:p.
:color fc=red bc=default.
WARNING - USE THIS OPTION WITH CARE : BACKUP ANY DATA FROM YOUR EXT2FS
PARTITION - WITH EXT2FLT.FLT HIDE ANY EXT2FS PARTITION YOU DON'T WANT TO
LOOSE, MAKE AVAILABLE TO OS/2 ONLY A TEST EXT2FS PARTITION.
:color fc=default bc=default.
:efn.
:fn id=0014.
:p.
[-no_auto_fsck] : prevents ext2-os2 from forcing Linux to run e2fsck on
partitions "touched" by &OS2. Default is to force Linux to run e2fsck.
:nt.
ext2-os2 normally forces Linux to check your ext2fs partitions touched by &OS2. This is a necessary
safety precaution, as long as ext2-os2 isn't stable enough.
:ent.
:efn.