To find the files needed to build an image, mksysimage searches a specific set of paths.
Search paths are a simple method for specifying which files get included in an image when it is built. When mksysimage.sh or mksysimage.bat calls mksysimage.py, this Python script uses mktar.py and gen-ifs.py to build an image, these scripts examine the search paths in sequence and use the first instance found of the file they need.
For example, if gen-ifs.py needs foo.bin to build an image and there are two copies of this file:
$QNX_DEPLOYMENT_WORKSPACE/target/product/AnM/boards/omap5uevm.ext/ifs/foo.bin
and:
$QNX_DEPLOYMENT_WORKSPACE/target/foo.bin
assuming that these search paths are in the order above, mksysimage.py will use the file in:
$QNX_DEPLOYMENT_WORKSPACE/target/product/AnM/boards/omap5uevm.ext/ifs/foo.bin
because this search path is first in the list.
Search paths for QNX Apps and Media start from the most specific (product and board) and work down to the most general (the QNX Neutrino OS). If a file foo.bin is available for both a specific product and board but also the OS, mksysimage.py will use the product and board version of the file (because it is in a search path listed earlier).
Thus, when customizing your target image, you can add files to paths at the top of the list to replace files found in paths listed later.
For QNX Apps and Media, search paths are generally organized as follows:
Below is an example list of search paths. Note that the QNX_TARGET enviroment variable is set to base_dir/target, and that the paths for the OS and Qt are last in the list, so the build will use files in these paths only if no file of the same name has been found in the more specific paths.
$QNX_DEPLOYMENT_WORKSPACE/target/product/AnM/boards/omap5uevm.ext/armle-v7 $QNX_DEPLOYMENT_WORKSPACE/target/product/AnM/boards/omap5uevm.ext/ifs $QNX_DEPLOYMENT_WORKSPACE/target/product/AnM/boards/omap5uevm.ext $QNX_DEPLOYMENT_WORKSPACE/target/product/AnM/boards/common/ifs $QNX_DEPLOYMENT_WORKSPACE/target/product/AnM/boards/common $QNX_DEPLOYMENT_WORKSPACE/target/product/AnM/armle-v7 $QNX_DEPLOYMENT_WORKSPACE/target/product/AnM $QNX_DEPLOYMENT_WORKSPACE/target/boards/omap5uevm/armle-v7 $QNX_DEPLOYMENT_WORKSPACE/target/boards/omap5uevm/ $QNX_DEPLOYMENT_WORKSPACE/target/boards/common $QNX_DEPLOYMENT_WORKSPACE/target/armle-v7 $QNX_DEPLOYMENT_WORKSPACE/deployment/target $QNX_DEPLOYMENT_WORKSPACE/target/qnx6/armle-v7 $QNX_DEPLOYMENT_WORKSPACE/target/qnx6 qt_base_dir/QNX-qt/Qt-5.3.1-armle-v7
To see all the paths used for the files that mksysimage.py uses, specify a verbosity greater than six. For example, use -vvvvvvv, and the output will display the search paths used by gen-ifs.py and mktar.py.