The Software Update (SWU) feature for the QNX CAR platform provides a mechanism for safely updating your platform software.
The feature uses these components:
- a software update daemon (swud)
- plugins for the update daemon that provide platform-specific functionality
- a partial-shutdown utility (downsize) that prepares the system for a software update
- an HMI application that allows the user to initiate a software update
When you connect a USB mass-storage device to your system and the device contains a software update package,
which consists of a manifest file and a delta file, the following occurs:
- The mcd utility detects the manifest file (which has a filename ending in
.manifest) in the software update package and notifies swud.
- The swud daemon validates the update package by parsing the manifest file and the delta file
(whose full path is specified in the manifest file).
If the update package is not valid (e.g., the base version stated is wrong), swud
logs an error (to slogger and to the HMI) and then stops the update process.
- If the update package is valid, swud notifies the HMI, which displays the pending update in the
software update application.
- When ready, the user initiates the software update from the HMI.
- The swud service coordinates with the downsize utility to terminate
all processes except those needed to perform the update (e.g., screen, disk drivers).
- After the nonessential processes have been terminated, swud updates the system based on the contents
of the delta file.
- The system is rebooted and the newer version of the system now runs.
Figure 1. Software Update components detect and validate the software update package, downsize the system processes,
and reboot the system to apply the update
The unique microkernel architecture of the QNX Neutrino RTOS makes software updates easy and reliable.
For example, if the user obtains a new smartphone that requires a new device driver, the Software Update mechanism ensures that
the QNX CAR system uses the new driver with the new phone but an older driver with an older phone. This allows
the system to be updated for new devices yet reduces the validation effort so that only the new devices require revalidation.
For more information on initiating software updates, see
Software Updates in the User's Guide.
For a detailed explanation of swud and how to generate a delta file, see
Software Updates in the System Services Reference.