Startup Programs

Updated: April 19, 2023

The first program to run in a bootable OS image is the startup code; it completes the system configuration, then launches the OS kernel.

Startup programs are hardware platform-specific. Every QNX Neutrino RTOS release includes startup programs for popular supported platforms. Additional startup programs are released with new BSPs, when these are made available.

The BIOS or UEFI (x86) or the ROM monitor (ARM), along with the IPL, look after the minimum configuration needed so the startup code can run, then load the OS image. If the IPL detects resources, it uses the startup header (startup.h) to pass this information on to the startup code (see The startup header in the Initial Program Loaders (IPLs) chapter).

One of the startup code's main tasks is to set up the system page. To help keep the OS kernel as generic as possible, the startup code supplies some callouts to the kernel. The table below lists places to find more information.

Topic See:
Startup programs startup-* options and other startup-* entries in the Utilities Reference
System page The System Page chapter in this guide
Kernel callouts The Kernel Callouts chapter in this guide