TITLE
AutoMounter
VERSION
37.4
AUTHOR
Thore Böckelmann <tboeckel@uni-paderborn.de>
REQUIREMENTS
Any Amiga® (compatible) computer with at least OS2.04 and 68020+ cpu.
DESCRIPTION
Did you ever have the problem, that you had several Zip® disks, each of them
probably formatted or partitioned differently with different filesystems like
FFS, SFS, PFS, CrossDOS, etc? And each time you change the disk you had to
mount another device driver to access the disk? Wouldn't it be much easier
just to insert the disk and let the Amiga automatically mount the new driver
if necessary?
Or do you have a disk drive, that cannot be accessed during booting, so that
you have to mount the drive "by hand" using a mountfile?
AutoMounter does exactly all these things. It will monitor any drive you
configure for disk changes. Every time you insert a disk in one of these
drives AutoMounter will check if the disk matches any of the already mounted
devices in the system, and if this check fails it will try to mount it. It
doesn't matter if the disk uses a filesystem you didn't use before, because
AutoMounter will try to read the disk's RDB and load the desired filesystem
from there. This also works for MS-DOS formatted disks, which have no RDB, but
it requires either CrossDOS or FAT95.
Please note that the CrossDOS/FAT95 support is very simple. Things like
partitions in extended partitions and similar things are not supported. I
think there is no need for such things because of two reasons:
1. most changeable media are Zip disks, which only have one partition
2. AutoMounter is no filesystem, just a little tool doing a job in the
background.
If you really ever have a disk with several partitions of which not all can be
mounted by AutoMounter, then please contact me and I will try to change that.
A hint for IOBlix/VarIO users:
There is no need to specify the device entries in the tooltypes of AutoMounter
for parallel port Zip drives connected to the IOBlix/VarIO as long as you
start SetupIOBlix/SetupVarIO with the AUTOMOUNT option. IOBlix'/VarIO's
AutoMount.demon will use AutoMounter as soon as it is running. Without the
AutoMount.demon you will of course have to handle the drives connected to the
IOBlix/VarIO like any other device.
USAGE
You can start AutoMounter from either Workbench or Shell with the following
options, although Workbench is more suitable:
POLLTIMEOUT/K/N,FAT95/S,DEVICE/M
POLLTIMEOUT/K/N: set the timeout (in seconds) for polling ancient drivers for
disk changes. Default value is 5 seconds.
FAT95/S: use L:fat95 instead of L:CrossDOSFileSystem for MS-DOS formatted
disks. This is necessary, because the version of CrossDOS delivered with
AmigaOS 2.04+ doesn't support long filenames, but not everybody has FAT95
installed. So if you have MS-DOS formatted disk, but you don't own the
commercial version of CrossDOS (V6.x, V7.x), then set this option to use
FAT95.
DEVICE/M: set a device to be monitored for disk changes. Each device entry
must be given using the following template:
DEVICE/A,UNIT/A/N,MAXTRANSFER=MT/K,DEFFATNAME,POLL/S
DEVICE/A: Exec style device name of the device to be monitored
UNIT/A/N: unit number of the device
MAXTRANSFER=MT/K: some devices don't like the standard value 0x00ffffff
for MaxTransfer. If you notice any problems then use this option. The
value must be given in hexadecimal notation, starting with "0x". Some
IDE/ATAPI drives will choke for other MaxTransfer values than 0x0001fe00.
Default value is 0x00ffffff.
DEFFATNAME: MS-DOS formatted disks don't have an RDB, so they cannot tell
AutoMounter the name under which the drive should be mounted. This option
only affects MS-DOS formatted disks and has no meaning for Amiga formatted
disk with RDB. This name defaults to "FATC".
Note: This name must *NOT* include a trailing ":"!!
POLL/S: use this option for those device drivers, that don't support disk
change notification. These drivers will be asked every <POLLTIMEOUT>
seconds for a disk change. This option should only be used if disk
changes are not noticed automatically.
Examples:
DEVICE=cybppc.device 2
Monitor cybppc.device unit 2 (my Zip drive) for disk changes.
DEVICE=cybppc.device 2 ZIPC
Monitor cybppc.device unit 2 for disk changes, but use ZIPC as drive name
for MS-DOS formatted disks. Usage of fat95 instead of CrossDOSFileSystem
for MS-DOS formatted disks depends on the global flag <FAT95>.
DEVICE=very_ancient.device 0 FAT poll
Monitor very_ancient.device unit 0 for disk changes, use FAT as drive name
for MS-DOS formatted disks. Because very_ancient.device doesn't support
disk change interrupts, poll it every 5 seconds for a disk change. Usage
of fat95 instead of CrossDOSFileSystem for MS-DOS formatted disks depends
on the global flag <FAT95>.
If you start AutoMounter from Shell you must surround every DEVICE
specification with quotes ("), because of the spaces in the specification
(e.g. AutoMounter "dev1.device 0" "dev2.device 4 poll")
For the case you have two disks with different geometry, but with the same
device name in the RDB (for example two ZIP disks) AutoMounter will change the
name of the newly mounted device that it is unique in the system. That means
it will append ".0", ".1", ".2", etc to the RDB-saved device name, until the
device name is unique. You will have two different DOS-devices afterwards for
the same disk drive, but you will be able to access both disks without the
need of a remount tool like SCSIMounter or Mounter (supplied with OS3.5/3.9).
Additionally this behaviour is much safer than unmounting the old drive.
You can start and quit AutoMounter at any time. To quit AutoMounter simply
start it a second time.
Additionally there are three support tools for AutoMounter: AddAutoDevice,
RemAutoDevice and ListAutoDevices. With the first two tools you can
dynamically add or remove a device from disk change monitoring.
The usage template for AddAutoDevice is the same as for every DEVICE tooltype
of AutoMounter. AddAutoDevice will print the result of adding the device for
monitoring, either success or failure.
RemAutoDevice just needs the device name and the unit number to remove from
monitoring. RemAutoDevice will print the result of removing the device from
monitoring, either success or failure.
ListAutoDevices will print a list of all currently monitored devices.
INSTALLATION
Copy AutoMounter where ever you want, but SYS:WBStartup is a very good place.
KNOWN BUGS
- cybppc.device seems to tend to crash after removing a device from
monitoring and changing the disk afterwards. I don't know why this happens
and if this applies for all of phase5's devices. But I think this not a real
problem, since all of phase5's devices have a built-in mounter, so there
should be no real need to run AutoMounter on these devices.
- 1230scsi.device (Blizzard 1230/1240/1260 SCSI module) doesn't increment its
diskchange counter. AutoMounter isn't affected by this anymore (V37.2), but
of course this is a serious bug in phase5's device drivers!
HISTORY
37.1 (21.01.2001):
- initial Aminet release
37.2 (12.02.2001):
- devices and units are now checked if they are changable media. Drives like
harddisks or CD-ROMs will be rejected, because they are either not
changable or they will never contain a valid RDB.
- recognition of MS-DOS formatted disks is much better now. MBR and
partition table are now searched for valid entries before trying to mount
a new device.
- new option FAT95 now enables support for fat95 filesystem instead of
CrossDOS.
- ListAutoDevices contained a wrong version string. Damn quick hacking :)
- drivers that need polling to detect a disk change will now get a command
sequence that is similar to the shell command DiskChange to make them
recognize the new disk.
- MaxTransfer value can be set now, in case some stupid device drivers
cannot handle transfers >=128K.
- mounting FAT formatted disks was completely broken and caused immediate
crashes. This is fixed now, CrossDOS and FAT95 are fully supported now.
37.3 (23.08.2001):
- a device driver would have been opened over and over again when the disk
geometry could not be determinded for some reason. This is fixed now. Even
empty drives are monitored correctly now.
- IOBlix users should also replace the AutoMount.demon, because the old one
(37.17) just checked for AutoMounter 37.2, but not for newers releases.
37.4 (10.10.2002):
- AutoMounter now tries to RemDevice() then device upon closure.
- if the newly inserted disk used a FileSystem that was not yet used by
any other device and delivered this FileSystem in its RDB the FileSystem
was never found. Fixed! (Chris Hodges <chrisly@platon42.de>)
COPYRIGHT AND DISCLAIMER
AutoMounter is copyrighted 2001,2002 by Thore Böckelmann.
All rights reserved. This program is freeware, so no financial donations
required. Redistribution allowed if the package is left unchanged. The author
is not responsible for any damage caused by the use or misuse of this
documentation and/or the program(s) it describes.
AutoMounter uses the SmartReadArgs package by Thomas Aglassinger.
fat95 is (c)opyright by Torsten Jager <t.jager@gmx.de>
|