DOS filesystem (QNX Neutrino)
driver ... dos dos_options ... &
Where driver is one of the devb-* drivers, and dos_options is one or more of the following, separated by commas:
- Use case-sensitive filename matching (forces long filenames). DOS/FAT is normally a case-preserving, case-insensitive filesystem.
- Install a DOS codepage for mapping of locale 8.3 filenames. These names are used only when the corresponding (Unicode) long filename is absent (created pre-Win95) or has been disabled (using lfn=ignore) or for the volume label; specification of the appropriate locale will also allow portability of filenames created by fs-dos.so to older versions of DOS. Use the “chcp” native command on a DOS system to determine its active codepage. Supported values for mapping are: cp437, cp850, cp852, cp866, cp1250, cp1251, and cp1252.
- Set DOS/Windows compatibility mode. Certain versions of DOS implement minor individual peculiarities of the FAT on-disk format, although this is unlikely to affect any normal or typical filesystem client usage. Supported values for mode are: dos, os2, win95, win98, win2k, and auto (the default).
- Specify how to handle the POSIX x-bit for executables;
exec_mode can be one of:
- Make all files executable.
- Make no files executable.
- Use the DOS “system” attribute to indicate which files are executable.
- Make files ending in .exe, .bat, and .com executable.
The default is auto.
- Set pre-reading of the FAT.
Scanning the FAT is required to return the count of free blocks.
It also allows for improved
performance by creating an in-memory summary of where free blocks might
be located within the filesystem.
The value must be one of the following:
- always — always read the entire FAT at mount time
- lazy — read the FAT only when required (statvfs() query)
- nonrmv — act as always for nonremovable media, and lazy for removable media
- This option causes fs-dos to check the consistency of the master FAT with any backup copies. If they don't match, then the DOS filesystem isn't mounted. The default is not to perform this check, and just assume the master FAT is correct.
- Set the handling of the FAT32/FSI record (this contains a count
of free clusters plus a hint at the next free cluster).
The mode is one of:
- ignore — ignore the record.
- lazy — update the record only when unmounting.
- update — update it whenever the FAT is modified.
- use — update it and use it (normally the free block count is calculated at mounting).
The default is lazy.
- Set the owning group of all files to group. The default is 0 (root).
- Specify what to do with files that have the DOS
“hidden” attribute; hidden_mode can be one
- The hidden files are ignored; the files don't appear in the filesystem.
- The hidden files appear in the filesystem as normal files.
- The hidden files appear in the filesystem with a dot (.) prefixed to their names. Files created with a leading dot have the DOS “hidden” attribute set.
The default is show.
- Specify what to do with long filenames:
- Ignore long filenames. Only 8.3 filenames are displayed or created.
- Show long filenames. Long filenames are created if the filename is longer than 8.3 or if mixed case is used.
- Always create both short and long filenames.
The default is show.
- Set the handling of Windows shortcut files. The options are:
- Place no special meaning on these files (the default).
- Turn all shortcut files into symbolic links pointing to their shortcut targets.
- Turn into symbolic links only those shortcut files that point to targets within this filesystem.
- Enforce short (8.3) filenames. This option is valid only with lfn=ignore. By default, filename components beyond the 8.3 limit are silently ignored. For example, LONGFILENAME.TXT becomes LONGFILE.TXT.
- Set POSIX check and emulation modes; posix_mode can be
one of the following:
- Disable POSIX checks and emulation.
- There are no . and .. entries in the root directory.
- The link count of every directory is always 2.
- Provide the following features beyond those provided by FAT:
- Create the . and .. entries in the root directory.
- Calculate directory size.
- Calculate the number of links per directory, based on the subdirectories.
- Ignore modification attempts that cannot be stored on disk or recreated by emulation, but don't raise errors.
- Set stricter POSIX checks. Provide the same features listed under
emulate mode, but flag as errors modification attempts that cannot
be stored on disk or recreated by emulation. E.g. an error of EINVAL
is flagged for attempts to do any of the following:
- Set the userid or group ID to something other than the default.
- Remove an r permission.
- Set an s permission.
- Set a file modification or access time to pre-1980.
The default is emulate.
- Set the display of 8.3 filenames; mode is one of:
- lower — always user lowercase (file.c).
- upper — always use uppercase (FILE.C).
- windows — emulate WindowsNT and use all lowercase or all uppercase according to the attributes of each filename (e.g. file.c or FILE.C).
The default is lower.
- Set the owner of all files to user. The default is 0 (root).
- Apply this permission mask to all files. The default is 0 (all permissions).
- Specify what to do with the DOS volume name;
vollabel_mode can be one of:
- The volume label isn't displayed.
- The volume label is displayed as a name-special file.
- The volume label is displayed as a name-special file with an = prefixed to its name.
The default is equals.
The fs-dos.so shared object lets you mount DOS filesystems (FAT12, FAT16, and FAT32) under QNX Neutrino.
The fs-dos.so shared object is automatically loaded by the devb-* drivers when mounting a DOS FAT filesystem.
|This filesystem uses UTF-8 encoding for presentation of its filenames; attempts to specify a filename not using UTF-8 encoding will fail (with an error of EILSEQ).|
Filesystems chapter of System Architecture
QNX Neutrino User's Guide:
- “DOS filesystem” in the Working With Filesystems chapter
- “Filesystems and block I/O (devb-*) drivers” in the Fine-Tuning Your System chapter
- “Filesystem limits” in the Understanding System Limits chapter