fs-dos.so
DOS filesystem (QNX OS)
Syntax:
driver ... dos dos_options ... &
Runs on:
QNX OS
Options:
Any strings passed in as option arguments are case-insensitive, meaning the driver ignores the case when processing them. For example, for codepage, you can specify cp1252 or CP1252 (or another case variation for the first two symbols) to select the Windows Latin 1 codepage.
In the option descriptions below, we specify the full strings for all argument values,
but in fact, the driver accepts the smallest unique substring for any argument value.
For instance, for the exe option, you can set exe=sys
or even
exe=S
and the driver will understand the argument value as system
.
But you can't set exe=a
because this could mean auto or all.
The driver is one of the devb-* drivers, and dos_options is one or more of the following, separated by commas:
- badchar=value
- Specify the character to use instead of unrecognized characters in names. The value must be in the range from 1 through 127; the default is 95 (underscore).
- case
- Use case-sensitive filename matching (forces long filenames). DOS/FAT is normally a case-preserving, case-insensitive filesystem.
- codepage=mapping
- 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:mapping Description cp437 DOS Latin US cp850 DOS Latin-1 cp852 DOS Latin-2 cp866 DOS Cyrillic cp932 Japanese; see below cp936 Simplified Chinese; see below cp950 Traditional Chinese; see below cp1250 Windows Latin 2 cp1251 Windows Cyrillic cp1252 Windows Latin 1 koi8r KOI8 Cyrillic Note:The character sets for Japanese, simplified Chinese, and traditional Chinese (code pages 932, 936, and 950, respectively) aren't statically linked into fs-dos.so as the other code pages are; they're in a separate shared library, charset.so. If you need to use these code pages, make sure to include charset.so in your OS image. - compat=auto|dos|os2|win95|win98|win2k
- 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. The default is auto.
- exe=all|auto|none|system
- Specify how to handle the POSIX x-bit for executables:
- all — make all files executable.
- auto — make files ending in .exe, .bat, and .com executable.
- none — make no files executable.
- system — use the DOS
system
attribute to indicate which files are executable.
The default is auto.
- fat=always|lazy|nonrmv
- Set pre-reading of the FAT.
Scanning the FAT is required to return the count of free blocks.
It also allows for improved
write()
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
The default is nonrmv.
- fsi=ignore|lazy|update|use
- Set the handling of the FAT32/FSI record (this contains a count
of free clusters plus a hint at the next free cluster):
- 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.
- hidden=dot|ignore|show
- Specify what to do with files that have the DOS
hidden
attribute:- dot — show hidden files in the filesystem with a dot (.) prefixed to their names.
Files created with a leading dot have the DOS
hidden
attribute set. - ignore — ignore hidden files; the files don't appear in the filesystem.
- show — show hidden files in the filesystem as normal files.
The default is show.
- dot — show hidden files in the filesystem with a dot (.) prefixed to their names.
Files created with a leading dot have the DOS
- lfn=always|ignore|show
- Specify what to do with long filenames:
- always — show long filenames. Always create both short and long filenames.
- ignore — ignore long filenames. Only 8.3 filenames are displayed or created.
- show — show long filenames. Long filenames are created if the filename is longer than 8.3 or if mixed case is used.
The default is show.
- lnk=all|ignore|local
- Specify how to handle Windows shortcut files:
- all — turn all shortcut files into symbolic links pointing to their shortcut targets.
- ignore — place no special meaning on these files (the default).
- local — turn into symbolic links only those shortcut files that point to targets within this filesystem.
- mbutf
- Enable support for multibyte UTF-8 characters in the volume label.
The default behavior is to support only ASCII and single-byte UTF characters;
other characters are replaced by the
bad character
(see the badchar option). - notrunc
- 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.
- posix=emulate|none|strict
- Set POSIX check and emulation modes:
- emulate — 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.
- none — disable POSIX checks and emulation:
- There are no . and .. entries in the root directory.
- The link count of every directory is always 2.
- strict — 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. For example, an error of EINVAL
is flagged for attempts to do any of the following:
- Set the user ID 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.
- emulate — provide the following features beyond those provided by FAT:
- sfn=lower|upper|windows
- Specify how to display 8.3 filenames:
- lower — always use 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.
- system=ignore|show
- Specify what to do with files that have the DOS
system
attribute:- ignore — ignore system files; they don't appear in the filesystem.
- show — show system files in the filesystem as normal files.
The default is show.
- utc
- Use UTC time rather than local time for timestamps.
- vollabel=equals|ignore|show
- Specify what to do with the DOS volume name:
- equals — display the volume label as a name-special file with an = prefixed to its name.
- ignore — don't display the volume label.
- show — display the volume label as a name-special file.
The default is equals.
In addition, you can specify any of the filesystem options (including ones that set group and user IDs and permissions) described for io-blk.so.
Description:
The fs-dos.so shared object lets you mount DOS filesystems (FAT12, FAT16, VFAT, and FAT32) under QNX OS.
This shared object is automatically loaded by the devb-* drivers when mounting a DOS FAT filesystem.
You can create FAT (DOS filesystem) images with the mkfatfsimg utility.
For details on filesystems that QNX OS supports, including their drivers and tool set, see the Filesystems chapter of the System Architecture guide.