1 Introduction

ISOFS is an installable file system for OS/2 to access ISO rawfiles suitable for burning on CD.  It allows transparent access to the contents of the raw file.  Currently only Joliet filenames are supported but this may change in the future.

This file system is based on the sources of AEFS a cryptographic file system written by Eelco Dolstra.  See below for further information.

1.1 Requirements

This software requires the EMX runtime fix 3.  It can be downloaded from: ftp://ftp.leo.org/pub/comp/os/os2/leo/gnu/emx+gcc/emxrt.zip.

1.2 Installation

You need WarpIn 0.9.4 or above to install this filesystem driver or the sources.  Get it from

http://warpin.netlabs.org

or

http://www2.rz.hu-berlin.de/~h0444vnd/os2.htm     Note: This address may not be valid in the future!

Unzip the zip-file to any place on your hard disk.  Start WarpIn with the installation package by doubleclicking on isofs_Vx-x-x.wpi. You may select to install only the driver, the sources or both.

During driver installation WarpIn adds the following lines to your CONFIG.SYS:

  IFS=<install-path>\stubfsd.ifs ISOFS
  RUN=<install-path>\isofsdmn.exe
A folder will be created on your desktop containing the documentation and objects to mount and unmount ISO files.

The first line loads the FSD (file system driver), which is really a stub that passes requests to the daemon, which is started in the second line and does the real work.  You may also want to add the bin-dir to the PATH environment variable, but that's merely a convenience.

1.3 Deinstallation

Use WarpIn to deinstall the filesystem.

NOTE: Currently WarpIn corrupts your CONFIG.SYS while trying to remove the inserted statements.  Deselect all config.sys entries in the Undo configuration listbox to make sure your system will remain bootable.  Remove the entries in question by hand!

1.4 Overview

To access an ISO file as a volume, you must attach (`mount') it to a drive letter.  This can be done by typing

  mntisofs X: <drive>:\<path>\<filename>
The file 'filename' may be accessed now as drive X:.  Copy, extract or view files contained in the image as if they were on your harddisk.

When you are done using the volume, you can type

  umntiso X:
to detach it.

2 Command reference

All programs use the GNU getopt syntax.  They all support the following options:

--help
Print help and exit.
--version
Print version information and exit

2.1 isofsdmn

The isofsdmn program is the file system daemon.  The syntax is:

isofsdmn option*

It is typically started in CONFIG.SYS by a RUN statement (not a CALL statement) or from a script using the detach command.

The options are:

--logfile filename
Write log messages to the file specified by filename.  By default, messages are written to standard error (which is the nul device if the daemon is started from CONFIG.SYS or using detach).
--loglevel n
Set the severity threshold of log messages.  Only messages with a severity lower than or equal to the log level are actually written to the log file.  The levels are:
1
Fatal
2
Evil (i.e.  not fatal but worse than a `normal' error)
3
Error
4
Warning
9
Debug

2.2 mntisofs

The mntisofs program attaches an ISO file to a drive letter.  The syntax is:

mntisofs option* drive-letter: path

The options are:

--offset nnnn,  -o nnnn
Specify the offset of the session on the CD.  This means the sector where the session starts on the CD.  For the first session on a CD the offset is 0 and may be omitted.  This option is experimental.
--jcharset codepage
Translation codepage for the unicode names of Joliet CDs.  If this switch is omitted the default system codepage is used.

Examples:

Mount a file on drive X: using the codepage 850:

  mntisofs --jcharset cp850 X: c:\directory\isoimage.raw 
Mount another file on drive Y: using the default system codepage:

  mntisofs y: c:\directory\another_isoimage.raw 
Mount the same file on drive Z: using the codepage 850:

  mntisofs --jcharset cp850 z: c:\directory\another_isoimage.raw 

You may access all these mounted drives in parallel.

2.3 umntiso

The umntaefs program detaches an ISO file from a drive letter.  The syntax is:

umntiso option* drive-letter:

The options are:

--force, -f
Detach the file system even if there are open files, active searches, or current directories for this drive.  This might not be entirely safe.

3 Known problems and limitations

This release is a developer release which may contain bugs. Don't expect it to be rock solid.

4 Building ISOFS

The makefiles require GNU make.

To build the FSD (stubfsd.ifs) you need Microsoft C 6.00.  This compiler can be downloaded from the IBM Developer Connection Device Driver Kit for OS/2 site at http://service.boulder.ibm.com/ddk. You also need the FSD helper library and header file, which is included in the FSD toolkit: ftp://ftp.leo.org/pub/comp/os/os2/leo/devtools/doc/ifsinf.zip.

To build the daemon and the support programs you need gcc or pgcc, available from various locations.

In general it isn't absolutely necessary to rebuild the FSD. In fact I took the precompiled FSD from the AEFS package and rewrote only the daemon.

5 License

ISOFS 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, or (at your option) any later version.

ISOFS 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 ISOFS; see the file COPYING.  If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.

6 Author

This software was written by Chris Wohlgemuth.  Send bug reports, patches, or other comments to <chris.wohlgemuth@cityweb.de>.

http://www.geocities.com/SiliconValley/Sector/5785/index.html

7 Credits

This file system is based on AEFS a cryptographic file system written by Eelco Dolstra <edolstra@students.cs.uu.nl>. Without that work ISOFS wouldn't have been possible!  It only took me a few days to get the first version run.  Thanks.

The charset conversion was taken from the cdrecord package by J.  Schilling.

The routines for iso9660 access were originally written by Eric Youngdale (1993), Copyright 1993 Yggdrasil Computing, Incorporated. 1