Image artifacts

When you complete a project with the QNX SDK for Apps and Media, you must build a target image to install your project on the target hardware.

To build a target image, you need to package all the following components:

Typically, you don't build all these components yourself. Instead, you:

Artifact organization

When you design a system, you must choose how to organize components into one or more IFS files and partition images. You then combine partition images to produce target images:

Image filesystems (IFS)
Image Filesystems (or .ifs files) are created by mkifs. An IFS is a file that contains a bootable OS image. An IFS is a single binary that is loaded into RAM, generally by a bootloader or IPL on bootup. IFS files are usually quite minimal; they include only the drivers and libraries needed to start the kernel and mount additional partitions.
Because an IFS is loaded into RAM and the files in it are more difficult to upgrade than files in a regular filesystem, an IFS is usually used only for startup code and a few key libraries, especially libraries that need to load early in the boot process.
In the case of the QNX SDK for Apps and Media platform, everything required to start a QNX kernel and mount secondary storage is stored in an IFS, but the HMI and apps are loaded from a storage device. The primary binaries and libraries in the IFS are automatically mounted to /proc/boot.
Partition images
Partition images (or .image files) are created by mkxfs (a wrapper utility for various filesystem generation utilities; see "M" in the Utilities Reference). These files contain the contents of a partition that is written to a storage device.
Partition images can contain a variety of file types including IFS files. For the QNX SDK for Apps and Media platform, for non-x86 platforms, the primary IFS is stored in a FAT32 partition because most targets can read FAT32 with their default bootloader.
Note: For x86 platforms, the QNX IPL is used and it loads an IFS from a QNX filesystem.
An image may consist of a maximum of four primary partitions. For example, an SD image for the QNX SDK for Apps and Media platform contains three (3) partitions: a FAT32 partition for booting and two Power-Safe (fs-qnx6.so) partitions (one for system data and another for user data).
Target images
Partition images are combined to produce target images (or .img files). A target image (also referred to as a disk image or system image) contains an entire target system—a partition table and the partition contents—and so is convenient to install. You can load a target image directly onto a storage medium, such as a micro SD card or a USB key, without having to modify partition information.
Note: Typically, the resulting image is stored in non-removal storage; however, SD cards or USB keys are easier to begin with.