DOS FAT12/16/32 filesystem manager (QNX)
Fatfsys [options]... [dos_drive=host_device]... &
- -d
- Name of the directory to hold the DOS drives. (Default: /dos)
- -D
- Enable the FAT32 volume to be marked
"dirty" at mount, "clean" at
unmount. This forces Windows to do a ScanDisk the
next time it boots. (Default: disabled)
- -f
- Set the maximum number of concurrent open files. This
option also sizes the internal caches based on this value.
(Default: 128)
- -F
- Disable usage/update of the FAT32 FSInfo
record, which contains the free cluster count and a hint of
the next free cluster. By default Fatfsys loads
and uses this information at mount, and writes back any
changes at unmount. This option disables that usage.
- -H
- Specify how to display DOS hidden files:
- ignore
- Never display hidden files.
- show
- Always display hidden files.
- dot
- Display hidden files with a leading
"." (useful with ls -a).
The default is show.
- -i
- Set the user/group IDs to apply as the owner of all DOS
files. These may be specified as numeric values (in the form
of num:num) or as a user ID
from /etc/passwd or group ID from
etc/group. (Default: 0:0)
- -L
- Specify how to treat long filenames:
- ignore
- Never show or create long filenames; use only the corresponding short name (e.g. PROGRA~1).
- show
- Display and create long filenames where appropriate (i.e. if the filename is longer than 8.3 or is mixed-case).
- always
- Always create long filenames to preserve case.
The default is show.
- -m
- Set mount options to apply to all subsequent DOS
filesystem mountpoints. Valid options are:
- ro
- Mark file as read-only.
- rw
- Mark file as read-write.
- noatime
- Don't record the time the file was last accessed.
- atime
- Record the access time.
- noexec
- Don't allow executable files to load.
- exec
- Allow executable files to load.
- nocreat
- Don't allow files to be created.
- creat
- Allow files to be created.
- async
- Enable asynchronous writes.
- sync
- Enable synchronous writes.
The defaults are rw, noatime, exec, creat, async.
- -P
- Set POSIX-like emulation/checking level. Valid options are:
- ignore
- Don't do any emulation or checks.
- emulate
- Attempt to provide features not present in the DOS
filesystem (e.g. link counts on directories,
. and .. entries at the root).
- strict
- Use the emulate features, but also check
for any attribute changes that DOS can't handle (e.g. a chown() to a
user other than that specified in -i, or a
utime() to a time before 1980, the DOS epoch). If
you don't specify strict, such attribute changes
are silently ignored.
The default is ignore.
- -s
- Toggle the automatic device scanning sequence (based on
user-specified mounts).
If any user mounts are specified on the command line, then
Fatfsys won't scan the /dev
directory. Use -s to toggle scanning on.
If no user mounts are specified on the command line, then
Fatfsys will scan the /dev
directory. Use -s to toggle scanning off.
- -S
- Specify how to treat short (8.3) filenames (assuming -L ignore is specified):
- lower
- Use all lowercase.
- upper
- Use all uppercase.
- windows
- Try to behave like Windows -- use a leading uppercase letter and the rest
lowercase, unless overridden by the case attribute in the
directory entry.
The default is lower.
- -t
- Set the timeout for removable media. After the timeout,
the media is assumed to be possibly stale and is
auto-remounted. (Default: 2 seconds)
- -T
- Disable silent 8.3 name truncation. This option is valid
only if long filenames are being ignored (via
-L ignore). By default, DOS truncates
filenames to fit into the 8.3 format, so the files
FILENAME.C and FILENAMETWO.C
are considered identical. The -T option will
raise an ENAMETOOLONG error rather than
truncate.
- -u
- Set a umask to apply to all DOS files. A umask specifies
a set of permission bits that should be cleared for a file.
You can specify the umask using a numeric form or a symbolic
string (of the form u=rwx,g=rwx,o=rwx) as an inverse
umask. (Default: 0)
- -v
- Increase level of verbosity for information/error messages.
- -V
- Specify how to treat the DOS volume label:
- ignore
- Never display the volume label.
- show
- Show the label unchanged.
- equals
- Display the label with a leading = in the name.
When not being ignored, the volume label (if present) will
be a name-special file with no access permissions.
The default is equals.
- -w
- Specify how long to wait for devices to be set up. This
is useful in sysinit or boot files. (Default: 10 seconds)
- -X
- Control the setting of the executable bit:
- none
- No files will be executable.
- all
- All files will be executable.
- system
- Use the DOS "system" attribute to indicate an executable file.
- auto
- Let the DOS filename extension (e.g.
*.EXE, *.COM,
*.BAT) dictate if a file should be
executable.
The default is auto.
- dos_drive
- A DOS drive name (typically a letter from a to z).
- host_device
- The name of the QNX device or file to open (e.g. /dev/hd1t6).
Fatfsys provides transparent access to DOS disks,
so you can treat DOS filesystems as though they were QNX
filesystems.
If started with no arguments, Fatfsys will scan
the /dev directory for DOS devices to adopt.
Hard drive partitions of types 1, 4, 6, 11, 12, and 14 will
be assumed to contain a DOS filesystem. And any removable
device (floppy, LS-120, etc.) will be assumed to be capable
of having media containing a DOS filesystem inserted into
it.
You may also specify explicit mount devices on the command
line, using the form
dos_drive=host_device (e.g.
c=/dev/hd1t6). Specifying any device in this way
will suppress the default device scan, but you can re-enable
scanning by using the -s option.
You can also mount DOS filesystems at runtime using the
mount utility:
mount -t dos /dev/fd0 /dos/a
or the mount_dos utility:
mount_dos /dev/fd0 /dos/a
|
Typically, mount_dos is invoked via the mount utility. But
if this isn't possible (e.g. if the device is being mounted
from within the boot image), then you may run the
mount_dos utility directly. |
You can unmount a DOS filesystem at runtime using the
standard umount utility (e.g. umount /dos/c).
Note that when Fatfsys is
terminated (with a SIGTERM or simple
slay Fatfsys), all current DOS filesystems
are implicitly unmounted (this will affect FAT32 volumes;
see the -D and -F options).
Fatfsys maintains an activity timeout on
removable media. After 2 seconds (see -t) of inactivity,
the next attempted access to that filesystem will force a
relearn of the DOS filesystem.
Fatfsys relies on the volume-tracking details of
a disk to detect changes, then uses a heuristic (any open
valid FDs) to determine if the media represents the same or
a different filesystem.
Fatfsys maintains no local physical data block
cache. All reads and writes to the host device are passed
immediately to Fsys, which has a data cache.
To force Fsys to flush its cache, you may use the
fsync() routine or O_SYNC flag on
a per-FD basis, or use the -m sync option to
affect all files written to the host device.
Fatfsys does contain a number of logical data
caches (names, attributes, and cluster mappings), which are
invalidated for removable media as described above. The size
of these caches is based on the -f value.
Start Fatfsys, mounting the floppy drive as /dos/a:
Fatfsys a=/dev/fd0 &
Start Fatfsys, mounting the floppy drive as
read-only and the hard disk as read-write:
Fatfsys -m ro a=/dev/fd0 -m rw c=/dev/hd1t6 &
Blkfsys,
fdisk,
Fsys,
Fsys.*,
mount,
mount_dos,
textto,
tr,
umask,
umount
QNX Installation & Configuration