What exactly happens when you start up your system depends on the hardware;
this chapter gives a general description.
Note:
You need to log in as root in order to change any of the
files that the system runs when it starts up.
What happens when you boot?
When you boot your system, the CPU is reset, and it executes whatever is at its reset vector. This is usually a BIOS on x86
boxes, but on other platforms it might be a ROM monitor, or it might be a direct jump into some IPL code for that board.
After a ROM monitor runs, it generally jumps to the IPL, and a BIOS might do this as well—or it might jump directly to the
start of the OS image.
diskboot
The buildfile for the default .boot image, qnxbasedma.build, includes lines that start the system by running diskboot.
.diskroot
The diskboot program uses the .diskroot file to determine which QNX 4 partition to mount as /.
/etc/system/sysinit
The /etc/system/sysinit file is a script that starts up the main system services. In order to edit this file, you must log in as root.
Device enumeration
Neutrino uses a device enumerator manager process, enum-devices, to detect all known hardware devices on the system and to start the appropriate drivers and managers.
/etc/rc.d/rc.sysinit
The /etc/system/sysinit script runs /etc/rc.d/rc.sysinit to do local initialization of your system.
rc.local As described above,rc.sysinit runs /etc/host_cfg/$HOSTNAME/rc.d/rc.local or /etc/rc.d/rc.local, if the file exists and is executable.
tinit
The tinit program initializes the terminal, by looking at /etc/config/ttys and running login or shells, based on the contents of the file.
Updating disk drivers
The Neutrino boot process can dynamically add block I/O (i.e., disk) drivers, letting you boot on systems with newer controllers.
The mechanism is simple and not proprietary to QNX Software Systems, so third parties can offer enhanced block drivers without
any intervention on our part.