Customizing an IPL

Updated: April 19, 2023

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 1. The 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:

  1. Create a new directory under bsp_working_dir/src/hardware/ipl/boards with your board name.
  2. Copy all files and subdirectories from a similar board into the new directory.
  3. Modify the files as appropriate.
  4. 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.