If you need to customize your 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 IPLs 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 1. The IPL source code directory structure.
Note: If your board uses only a U-Boot bootloader, your BSP may not have an
ipl directory.
The first thing you should do before you begin customizing an IPL is to review
and understand the QNX-supplied IPL for your board. If there is no BSP for the board
you are using, start with a BSP for the board that most closely resembles the board
you are using.
When you have reviewed and understood the QNX IPL, 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.