If you need to write a custom IPL, it's best to work from an existing one,
and preferably one for an SoC similar to the one you are using for your project.
The source code for a QNX IPL is available in the QNX BSP for the relevant hardware
platform. It is stored in a directory under
bsp_working_dir/src/hardware/ipl/boards/.
The source tree structure looks like this:
Figure 1The IPL source code directory structure.
Before you begin customizing an IPL, you should review and understand what it does. When
you have done so, you will need to complete the following tasks to create a custom IPL:
Create a new directory under
bsp_working_dir/src/hardware/ipl/boards
with your board name.
Copy all files and subdirectories from a similar board into the new
directory.
Modify the files as appropriate.
Rebuild your BSP with the new IPL (see Building a BSP
in the Using a BSP chapter, and the BSP User's Guide for the BSP from
which you started your work).
Note:
Systems that boot from disk or over the network typically come with a BIOS or UEFI (x86)
or ROM monitor (ARM), which already contains a large part of the IPL. If this is the
case for your system, you can probably skip directly to the
Startup Programs chapter.