swud

Validates update packages on attached devices, notifies HMI of pending updates, and initiates update process when requested by user.

Syntax:

swud -i client_id [-d] [-v] [-m module_path[=module_args]]*

Options:

-d
Run swud in the foreground, not as a daemon. This flag is useful for debugging.
-i client_id
(Required)
The update client ID. This ID is defined by your system integrator and is available as part of the Software Update (SWU) client configuration.
-m module_path[=module_args]
Load the module at module_path. The =module_args component is an optional, comma-separated list of arguments to be passed to the module.
Here's an example of launching swud with the swud-self-update-hmi module while specifying the vendor ID and hardware ID:
swud -m swud-self-update-hmi.so=QNX,CAR2.1
You can provide multiple -m options on the command line to load and pass parameters to as many modules as you like.
-v
Increase output verbosity (messages are written to sloginfo). The -v option is cumulative; each additional v adds a level of verbosity, up to 7 levels. For example, swud -vvv sets a verbosity level of 3.
The default setting is 0, meaning verbosity is turned off.

Description:

Note: You should start swud with an explicit command only if this daemon process terminates unexpectedly or you've disabled its automatic startup in SLM. Before trying to start swud manually, always confirm that the process isn't already running by checking the list of active processes with pidin or ps.

The swud service detects manifest files stored on attached devices. When it finds a manifest file, swud validates this file along with the delta file named in it. If these files are valid, swud notifies the HMI, which can then display the pending update to the user. If either file is invalid (e.g., because of an incorrect base version), swud doesn't process the update further but logs an error to slogger and to the HMI.

When the user initiates the update through the HMI, swud copies the manifest file and the delta file from the attached device to /var/swud. Next, swud uses the partial-shutdown utility, downsize, to terminate all processes except those needed to apply the update. Finally, swud applies the software update based on the delta file contents.

You must provide a client ID when running swud, whether through SLM or the command line. The client ID is an alphanumeric string and is found in the SWU client configuration. You can optionally use the -m option to load modules and pass arguments to them. Also, you can run the service in the foreground for debugging purposes (by using -d), and enable different levels of verbosity by using between 1 and 7 -v options.