Artifacts

The image generation process generates several artifacts, including IFSs, partitions and target images.

os.version files

Every image that mksysimage.py generates and assembles includes an os.version file. This file records information such as the build date and time, the build number, the products included in the build, and the machine used to generate and assemble the image.

These os.version files are located in your output directory (see Generate the target image in the Generating a Target Image chapter). The information in these files can be useful when you're troubleshooting. Below is an example of an os.version file:

Generation_Date:    Mon Oct 24 12:00:32 2017
Build_URL:          http://engserv.bts.rim.net:8080/job/ADAS_Images_SDP7/968/
Build_Number:       968
Image_Script:       http://community.qnx.com/svn/repos/adas/mainline/buildScripts@11365
SDP_Revision:       7.0.0
Product:            ADAS
Branch:             2.0
Variant:            evaluation
Platform:           rcarh3spre.ext
Architecture:       armv7le

IFSs

Some QNX Neutrino systems include more than one Image filesystem (IFS). IFS files (*.ifs) are created by the standard QNX mkifs utility. Their contents and configuration are determined by *-ifs.cfg configuration files (e.g., rcarh3spre-ifs.cfg); (see mkifs in the Utilities Reference).

Partitions

Some QNX systems, such as the QNX Platform for ADAS, combine several partition images to create the final target image. The mksysimage.py script calls other scripts and utilities to create the partition images.

Partition image files (*.image) contain the contents of partitions that will be written to a storage device. They are created by the mkxfs utility (see mkxfs in the Utilities Reference).

Partition images can contain a variety of file types, including IFS files. For ARM boards, the primary IFS is usually stored in a FAT32 partition, because most ARM boards can read FAT32 with their default bootloader. For x86 boards, the IFS is usually stored in a QNX filesystem.

The contents of each partition are defined by filesets (see Filesets in the Modifying Content chapter). The configuration of each partition (its size and order) is defined by the target image configuration files (see the Configuring Partitions and Images chapter).

Target images

A target image contains an entire system: a partition table and the contents of the partitions, 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.

A QNX target image may consist of a maximum of four primary partitions. For example, an SD image for QNX Platform for ADAS 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).

The mksysimage.py script calls the diskimage utility to assemble partition files and create the final target image file (e.g., rcarh3spre-sd.img). The mksysimage.py scripts and the scripts and utilities they call use configuration files that specify the final image contents, including partition sizes, order, and paths (see Configuring Partitions and Images, and mksysimage.py in the Utility Scripts chapter).

Note: A target image may also be referred to as a “disk image” or “system image.”