snippets

The snippets folder contains portions of buildfiles that mkqnximage uses to create partitions for the SD card image generated by the project build. The mkqnximage utility combines these files with boilerplate snippets to assemble full buildfiles (.build), that are required to generate partition files (.part) for the image generation process.

The CTI contains the following snippets:

SnippetAbout
data_files.customAdds files to the /data partition.
data_files.custom.abuildAdds folders required for abuild to operate correctly.
data_files.custom.apk_root_dataIntegrates the local apk repo for QNX software packages.
data_files.custom.camera_demoIncludes entries for the files required by the camera.
data_files.custom.etc_system_configIntegrates the /etc/system/config folder.
data_files.custom.fontsIntegrates the fonts customizations folder.
data_files.custom.sudoersIntegrates custom sudoers configurations.
data_files.custom.var_usersCreates extra folders in /var for user accounts.
data_files.custom.weston_desktopCreates folders and files needed for the Weston desktop integrated into the image.
data_files.homeIncludes entries for the user home directories and some local user configuration files.

If you integrate a new utility that can benefit from a default local configuration file, you can add the local configuration entries in this snippet for each user account that requires them.

If you add a new user account, you need to add extra entries here to create the new user folder and extra configuration files.

Refer to the entries for qnxuser as an example of what entries to add for another user.

group_file.apk_supportAdds new group entries for sudo and abuild.
ifs_env.~10.customContains entries for setting up the basic runtime environment of the IFS.
ifs_files.~10.customMakes additional IFS file adjustments required to integrate the core apk packages.
ifs_files.serial_consoleContains extra commands related to the serial console to add into the IFS.
ifs_start.~30.builtinControls whether to start up SLM or run startup.sh, depending on which build option is set.
post_start.~15.networkingContains extra networking commands to add to the startup script, /system/etc/startup/post_startup.sh.
post_start.~19.fontsInserts font cache updates into the startup flow.
post_start.~96.multimediaContains extra commands that start the multimedia renderer. Add to the /system/etc/startup/post_startup.sh startup script. Other utilities (such as mmrplay) use the multimedia renderer for media playback.
profile.customContains extra environment variables or entries to add into /system/etc/profile to add global environment variables to each user's environment when they start a new shell.

If you integrate a new open-source service that needs defined environment variables to operate, you'd need to make changes to this snippet.

slm.~20.custom.rootfsAdds SLM entries that depend on the rootfs task.
slm.~60.custom.networkAdds SLM entries that depend on network startup.
system_files.custom.apk_bug_hackAdds items to the image to address temporary apk issues.
system_files.custom.apk_qnx_microkernelAdds a symlink to interoperate with the qnx-microkernel apk package.
system_files.custom.apk_startupDefines scripts that are called during boot and apk startup flow.
system_files.custom.boot_animContains entries for hardware-specific files used to run the on-boot animations. No customizations are expected to this file at this time.
system_files.custom.camera_demoMerged into the system buildfile. Contains entries related to sensor framework and camera libraries, and sample apps, mainly to make it easier to locate and differentiate from other integrations that may be modified less often.
system_files.custom.commonMerged into the system partition buildfile. Serves as a location to add extra entries for files to be integrated into the system partition. You can choose to update this snippet with extra system entries or create a subset snippet.
system_files.custom.consoleDefines a custom script that drives the console login flow after startup.
system_files.custom.fontsInjects additional font dependencies for binaries that build with different versions of Fontconfig and FreeType.
system_files.custom.gtk4Defines a startup script for the GTK+4 demo for QNX Screen.
system_files.custom.io-sndMerged into the system buildfile. Contains entries related to the io-snd framework, ALSA support, and related sample apps.
system_files.custom.pamIntegrates scripts required to set up PAM (pluggable authentication module).
system_files.custom.python_setupDefines a Python setup script that runs on first boot.
system_files.custom.shared_assetsIntegrates shared asset folders.
system_files.custom.weston_desktopIntegrates scripts that are required to set up the Self-Hosted Developer Desktop.
system_files.custom.window_managersContains entries relating to the two window managers integrated into the project, as well as their assets and configuration files.
system_files.custom.window_managers_demolauncher_configContains entries related to the configuration of the demolauncher window manager. This snippet is broken out separately from the main system_files.custom.window_managers file to allow variant specific demolauncher configuration.
wifi.custom (Optional)This snippet contains a network block that is injected into the wpa_supplicant.conf file for Wi-Fi settings.

Refer to the "Wi-Fi" section of the QSTI chapter for more details on how to populate the file.

This method of setting Wi-Fi settings isn't recommended unless your image is for devices that are operating in a fixed environment (e.g., school, corporate lab, or guest network), as opposed to being shared to the QNX developer community.

Page updated: