The first program 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 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 bootable image. This image includes the startup code. 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 code supplies some callouts to the kernel. For more information see:
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 |