Boot Time Optimization

Every system has its own set of requirements to meet at boot time. The platform is shipped with many boot-time optimizations already implemented, but it is designed so that you can optimize system startup so that it best meets your goals. By implementing some simple techniques at various points in the boot sequence, you can make the OS and applications load, initialize, and launch more quickly or in a specific sequence.

In the QNX CAR platform, the boot sequence has been optimized using several different techniques. These optimizations focus on the following goals:

Early splash screen and camera
The system loads the image filesystem (IFS) and begins executing the build script as soon as possible. The build script then launches the Screen Graphics Subsystem and the graphical app as early as possible. To accomplish these tasks, we have optimized the initial program loader (IPL) to reduce the IFS size and have reordered the sequence in which services are launched in the boot script.
Early audio
This optimization uses the same techniques as early splash screen and camera, except that audio is started as early as possible in the boot sequence.
Early HMI display
To display the HMI as early as possible, the system uses the same techniques as the first two optimizations while reducing the HMI's dependencies to what is strictly necessary. This work has led to the development of the Boot Manager, a service that manages HMI dependencies and instructs the System Launch and Monitor (SLM) service to launch processes based on the state of the system and the HMI requirements. The Boot Manager allows the HMI to come up before all the apps are instantiated.
Early playing of last audio
This optimization is based on a new multimedia service (mm-player) that saves its state at shutdown and restores it at power-up. To meet the goal of quickly resuming audio playback at the same track and position when the system was shut down, the mm-player service and its dependencies are carefully placed in the SLM configuration file so that they are run at the earliest point possible.

For more information on optimization techniques and on the system's boot sequence, see the Boot Optimization Guide.