Filesystems

QNX SDP8.0System ArchitectureDeveloperUser

The QNX OS provides a rich variety of filesystems. Like most service-providing processes in the OS, these filesystems execute outside the kernel; applications use them by communicating via messages generated by the shared-library implementation of the POSIX API.

Supported filesystems on QNX OS

The following table shows the shared objects and related commands for the filesystems.

The utilities listed under Initialize with: create an empty filesystem on a target device or in a file. The ones under Create with: create a fully populated filesystem image on a host platform, which you can then write to a target device or a file.

Filesystem Partition type Driver Initialize with: Create with: Check with:
Power-Safe filesystem

A reliable disk filesystem that can withstand power failures without corruption.

177, 178, or 179 fs-qnx6.so mkqnx6fs mkqnx6fsimg chkqnx6fs (on target; not usually necessary)
QNX compressed filesystem

A read-only filesystem that supports the compression of files and metadata so that they take up less space.

181 fs-qcfs.so N/A mkqfs N/A
QNX Trusted Disk

A device that provides integrity protection of the underlying disk data in secure boot environments.

185 fs-qtd.so N/A mkqfs mkqfs (on host; use -y option to verify)
Image filesystem (IFS)

A simple read-only filesystem that presents the set of files built into the OS image.

N/A mount_ifs (secondary IFS)

part of the boot image (primary IFS)

N/A mkifs N/A
DOS Filesystem

A filesystem that provides transparent access to DOS FAT (FAT12/16/32) disks.

1, 4, 6, 11, 12, or 14 fs-dos.so mkdosfs mkfatfsimg chkdosfs (on target)
Linux Ext2 filesystem

A filesystem that provides transparent access to Linux disk partitions.

131 fs-ext2.so N/A N/A N/A
Universal Disk Format (UDF) filesystem

A read-only filesystem that supports UDF (ECMA-167) and ISO 9660 (including Joliet and RRIP extensions).

N/A fs-udf.so N/A N/A N/A
FFS3 filesystem

Filesystem drivers that implement a POSIX-like filesystem on NOR flash memory devices.

N/A devf-system flashctl -f command to the devf-system driver mkefs Internal to the devf-system driver, enabled with the -r option
NFS filesystem

NFS 3 client filesystem.

N/A fs-nfs3 N/A N/A N/A
Linux Squash filesystem

A compressed, read-only filesystem.

N/A fs-squash.so N/A mksquashfsimg N/A

In addition, every QNX OS system provides a simple RAM-based filesystem that allows read/write files to be placed under /dev/shmem. However, it does not support many POSIX semantics. For more information, see RAM filesystem.

Filesystem resource managers

These filesystems are resource managers as described in this book. Each filesystem adopts a portion of the pathname space (called a mountpoint) and provides filesystem services through the standard POSIX API (open(), close(), read(), write(), lseek(), etc.). Filesystem resource managers take over a mountpoint and manage the directory structure below it. They also check the individual pathname components for permissions and for access authorizations.

This implementation means that:

  • Filesystems may be started and stopped dynamically.
  • Multiple filesystems may run concurrently.
  • Applications are presented with a single unified pathname space and interface, regardless of the configuration and number of underlying filesystems.

Virtual filesystems

A virtual filesystem is one in which the files or directories aren't necessarily tied directly to the underlying media, perhaps being manufactured on-demand. The /proc filesystem is an example; see Controlling processes via the /proc filesystem in the Processes chapter of the QNX OS Programmer's Guide.

Page updated: