32bit Linux ext2 file system driver (EXT2 IFS) v. 2.40 (15/10/1998, Matthieu WILLM) |
Readme/What's new |
[$Header: d:\\32bits\\ext2-os2\\doc\\ext2-os2\\rcs\\README,v 1.7 1997/03/15
17:06:48 Willm Exp $]
╔═══════════════════════════════════════════════════════════════════════╗
║ 32 bits Linux ext2 file system driver for OS/2 WARP - Allows OS/2 to ║
║ access your Linux ext2fs partitions as normal drive letters. ║
║ Copyright (C) 1995, 1996, 1997 Matthieu WILLM (willm@ibm.net) ║
║ ║
║ 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. ║
╚═══════════════════════════════════════════════════════════════════════╝
EXT2-OS2 VERSION 2.40 (32 BITS EDITION)
WHAT IS EXT2-OS2 ?
-------------------
ext2-os2.ifs is a file system driver that allows OS/2 to seamlessly access
Linux native partitions (ext2fs partitions) in both read and write modes.
Once installed, Linux partitions appear as standard OS/2 drive letters, one
per Linux partition. It is a port of the original Linux ext2fs kernel code.
ext2-os2 can even be used without Linux, as it can format or check ext2 file
systems directly from OS/2. This can be useful for people who need huge cache
sizes, for large compilations for instance ; it can also be useful for people
wanting long file names on removable media.
INSTALLATION AND USAGE INSTRUCTIONS :
------------------------------------
Please consult the online help file (ext2-os2.inf) for
IMPORTANT installation and configuration instructions.
Please read the documentation BEFORE installing the driver !!
A HTML version of the documentation is also available (ext2-os2.htm)
This HTML version has been produced from the IPF version with IBM
Hyperwise. It can be viewed with any good web browser, such as the
WebExplorer included in the OS/2 Bonus Pack.
***********************************************
***** IMPORTANT WARNING - READ THIS FIRST *****
***********************************************
ext2-os2 is a FILE SYSTEM DRIVER. Being a driver it runs at the most
privileged level of the OS/2 operating system, known as "kernel mode".
IN KERNEL MODE THERE IS NO MORE CRASH PROTECTION. It means that if a bug
occurs in the driver IT CAN CAUSE A HANG OR A SYSTEM HALT, AND THUS CAN
CAUSE LOSS OF DATA.
- I STRONGLY SUGGEST YOU TO MAKE A BACKUP OF ALL YOUR DATA (EVEN IF THEY
ARE NOT LOCATED ON A LINUX PARTITION) PRIOR TO USE THIS DRIVER.
- DON'T USE THIS DRIVER ON A PRODUCTION MACHINE, OR IF YOU MANIPULATE
CRITICAL DATA.
- IF HUMAN LIFE DEPENDS ON YOUR SYSTEM, DON'T INSTALL THIS DRIVER ON IT.
- USE IT AT YOUR OWN RISKS, AND ONLY ON A MACHINE YOU ACCEPT TO CRASH
AND REINSTALL.
- BE AWARE THAT THIS DRIVER WILL GIVE FULL UNRESTRICTED (ROOT) ACCESS TO
ALL YOUR EXT2FS PARTITIONS FROM OS/2.
Now experience tends to prove that ext2-os2 is stable for normal use...
but doing regular backups is never a bad practice.
MAIN CHANGES SINCE PREVIOUS RELEASE :
-------------------------------------
- bug fixes
- performance improvements
- removed the 2 Gb limit previously present in e2fsck, mke2fs and badblocks.
INCLUDED IN THIS PACKAGE :
--------------------------
The package includes Deon van der Westhuysen's Linux partition filter V 1.2c
This filter driver will allow you to make you Linux partitions visible to OS/2
without altering the partition table, so that ext2-os2.ifs can mount them.
This driver can also reorder hard drive letters assigned by OS/2 ; this can solve
many partition headaches when having more than one operating system on a machine.
Please look at the file ext2flt.doc and ext2-os2.inf for its usage and Deon's
copyright notice.
DEFAULTS SETTINGS :
-------------------
- The default behavior after installation is read only. To turn on read/write
access you have to specify -rw on the ext2-os2.ifs command line AND /W
on the ext2flt.flt command line.
- By default, ext2-os2 is case sensitive. It MUST be changed to case retensive if
you plan to run programs from a Linux partition. See the online help file for
details (-case_retensive option).
FEATURES AND RESTRICTIONS OF THE 32 BITS VERSION OF EXT2-OS2 :
--------------------------------------------------------------
OS/2 Requirements :
- OS/2 WARP V4 : supported.
- OS/2 WARP V3 : fixpack 17 or higher is required. Bare OS/2
WARP (no fixpack) should be OK but I did not
test it.
- OS/2 2.x : not supported.
- OS/2 1.x : not supported.
Benefits of the 32 bits version :
- Now it can be compiled with a modern compiler (IBM Visualage C++)
Old MS junks are no longer necessary (at least for ext2-os2.ifs)
- Larger cache sizes can be used than with the 16 bits version.
(system limits are a lot higher).
- In some area, a significant performance gain can be observed
(eg 25% on a 16 Mb file write).
How does it work ?
OS/2 still has a 16 bits Physical Device Driver model, as well
as a 16 bits IFS model. An IFS is actually a library with a
predefined set of entry points to perform file I/O operations.
These entry points are 16 bits protect mode. The first thing each
entry point does is to load 32 bits FLAT segment registers and jump
to the 32 bits routine performing the actual operation. Before doing
the actual job, 16 bits pointers passed to the routine are converted
to 32 bits pointers using a kernel helper. This process is known as
"thunking". In OS/2 kernel mode, this thunking is fast and efficient
since stack switching is not required (the stack segment register
is not reloaded).
At some point, the IFS may need to call the kernel for some
services. Here again, as the kernel services are 16 bits entry points
(Device Helpers, File System Helpers), this thunking process is
necessary. To do this I wrote an interface to Device Helpers callable
from 32 bits Visualage C++ code. Since this interface is generic and
independant from ext2-os2.ifs, I isolated it in a separate driver
(mwdd32.sys) so that other clients than ext2-os2.ifs can use it.
Installation notice :
a new component (mwdd32.sys) is necessary to make ext2-os2.ifs work.
Don't remove mwdd32.sys from CONFIG.SYS !!
Developping other 32 bits IFS or device drivers :
Other device drivers and IFS can profit from the facilities I had to
implement to port ext2-os2 to 32 bits. The package includes the file
32drv170.zip, which contains mwdd32.sys sources, as well as skeletons
of a 32 bits BASEDEV and a 32 bits IFS.
WHERE TO FIND EXT2-OS2 :
------------------------
You can find the latest version of ext2-os2 at the ext2-os2 home page :
http://www.geocities.com/SiliconValley/Bay/5313
You can also find it at the usual ftp sites (or in their incoming directory) :
ftp://ftp-os2.nmsu.edu/pub/os2/system/drivers/filesys/ext2_240.zip
ftp://sunsite.unc.edu/pub/Linux/system/Filesystems/ext2/ext2_240.zip
ftp://ftp.leo.org/pub/comp/os/os2/drivers/ifs/ext2_240.zip
ftp://ftp-os2.cdrom.com/pub/os2/diskutil/ext2_240.zip
FEEDBACK AND SUPPORT :
----------------------
Please feel free to contact me for any question on ext2-os2. You are also
encouraged to give me some feedback on how it works on your system and what
new features you would like ... this helps me improve it ! Both success stories
and disasters interest me.
Matthieu WILLM
willm@ibm.net |
32bit Linux ext2 file system driver (EXT2 IFS) v. 1.70 (12/8/1997, Matthieu WILLM) |
Readme/What's new |
[$Header: d:\\32bits\\ext2-os2\\doc\\mwdd32\\rcs\\READ.ME,v 1.8 1997/03/15
17:13:14 Willm Exp $]
╔═══════════════════════════════════════════════════════════════════════╗
║ 32 bits OS/2 device driver and IFS support. Provides 32 bits kernel ║
║ services (DevHelp) and utility functions to 32 bits OS/2 ring 0 code ║
║ (device drivers and installable file system drivers). ║
║ Copyright (C) 1995, 1996, 1997 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. ║
╚═══════════════════════════════════════════════════════════════════════╝
MWDD32 VERSION 1.70
WHAT IS MWDD32 ?
-----------------
mwdd32 is a package that allows the implementation of 32 bits OS/2 device
drivers (BASEDEV and DEVICE) as well as 32 bits Installable File Systems
(IFS). It is composed of several parts :
- a base device driver (mwdd32.sys) that provides kernel services (DevHelp)
and utility functions callable from 32 bits ring 0 code.
- a static library (fsh32.lib) that provides thunks from 16 bits IFS entry
points
to 32 bits, and 32 bits interfaces to FSHelper functions.
- a sample 32 bits BASEDEV base device driver skeleton, with sources.
- a sample 32 bits DEVICE device driver skeleton, with sources.
- a sample 32 bits IFS (Installable File System) driver skeleton, with
sources.
- a sample 32 bits OS/2 SES (Security Enabling Services) base device driver
skeleton, with sources.
I created mwdd32 because I started to port my Linux ext2fs IFS to 32 bits
some times ago, and to do this I had to write 32 bits devhelp interfaces (thunks)
and other routines. I thought it would be useful to make other clients than my
IFS profit from this work. That's why I isolated them in a separate driver and
created MWDD32.SYS.
The 32 bits version of my Linux ext2fs IFS is now available and is a good
example of a full featured 32 bits IFS, which uses mwdd32.sys services. It can be
found at :
ftp://ftp-os2.nmsu.edu/os2/diskutil/ext2_240.zip
ftp://sunsite.unc.edu/pub/Linux/system/Filesystems/ext2/ext2_240.zip
mwdd32 is still work in progress : not all DevHelp are implemented, but only
those I needed to port ext2-os2 to 32 bits. Suggestions and contributions are
welcome to help me enhance mwdd32.
COPYRIGHT NOTICE :
------------------
This package is licensed under terms of the the GNU General Public License.
See the file COPYING for details.
If you want to use my own parts (parts that do not contain code from others)
but not under the GNU General Public License you must contact me and sign an
agreement with me.
CREDITS :
---------
Thanks to Holger Veit for the DevHelp calls he added to mwdd32.
Thanks to Sander van Leeuwen for his Watcom 32 bits PDD sample.
WARNING :
---------
- MWDD32 IS ONLY USEFUL TO DEVICE DRIVER WRITERS. IT IS *TOTALLY USELESS* FOR
NORMAL USERS. DON'T INSTALL IT IF YOU DON'T PLAN TO WRITE DEVICE DRIVERS !!!
- FOR THE MOMENT MWDD32 IS EXPERIMENTAL WORK, STILL IN PROGRESS. PROGRAMMING
INTERFACES ARE SUBJECT TO CHANGE. MWDD32.SYS IS PROBABLY STILL UNSTABLE.
SUPPORTED OS/2 VERSIONS :
-------------------------
- OS/2 WARP V4
- OS/2 WARP V3 with fixpack 17 or higher
- OS/2 WARP V3 without any fixpack applied (except for the sample SES driver)
REQUIREMENTS :
--------------
- IBM VisualAge C++ 3.0 with at least CSD CTC305, the IBM Devcon DDK V2, as well
as IBM ALP 4.00.001 are needed to write 32 bits drivers using this package.
- A file system supporting long file names (eg HPFS for instance) is required.
Note:
- The DDK and ALP are now free and can be found at the IBM Online DDK URL :
http://service.software.ibm.com/ddk
- IBM Visualage C++ P/N is 5622-679 (it is not free !)
INSTALLATION AND USAGE INSTRUCTIONS :
------------------------------------
Installing mwdd32.sys :
Simply copy it into \os2\boot on your boot drive, and add the following line in
your CONFIG.SYS :
BASEDEV=MWDD32.SYS
NOTE : mwdd32.sys is REQUIRED to make all sample drivers work. It must be loaded
before any drivers that use it.
Sample drivers sources and binaries are located in the file mwdd_src.zip.
The programming documentation is in the mwdd32.inf online help file.
WHERE TO FIND MWDD32 :
----------------------
ftp://ftp-os2.nmsu.edu/os2/dev32/32drv170.zip
ftp://ftp.leo.org/os2/drivers/source/32drv170.zip
ftp://ftp-os2.cdrom.com/pub/os2/dev32/32drv170.zip
DISCLAIMER :
------------
The fact that I work for IBM has nothing to do with this package : this is
spare time work. It is ***NOT*** official IBM support for 32 bits OS/2
physical device drivers or IFS.
Matthieu WILLM
willm@ibm.net (home) |
Add new comment