Build the BSP (commandline)

QNX Board Support Packages8.0BSP User's GuideIMX95 EVK BoardNXPNXPARM

You can use the commandline on Linux or Windows to work with this BSP.

Makefile targets in the BSP

The Makefile is located under the $BSP_ROOT_DIR/images directory. It defines more than one target:

all
Builds the QNX IFS (with and without graphics) and QNX IPL files for the target.
qnx-ifs
Builds the IFS file.
ipl
Builds QNX IPL (.imx) files for the i.MX 95 EVK board as either SD or eMMC boot, as well as for xSPI NOR flash memory boot.

If you don't specify a target, make invokes the all target.

Note:
  • The mkimage_imx8.exe utility uses multiple Linux utilities (e.g., dd.exe, sha256sum.exe, etc.) to create the *.imx bootable images in the $BSP_ROOT_DIR/images directory. To build the *.imx bootable images using Windows, some utilities are needed from a GNU tool installation such as CygWin or MinGW GNU tools. We recommend that you install either MinGW GNU tool or CygWin to your host system, and then check that the PATH environment variable contains a path to the utilities (i.e., dd.exe, sha256sum.exe, etc.) on your host system.
  • In case the mkimage_imx8.exe utility does not work in your development environment, you can download the latest source from https://github.com/nxp-imx/imx-mkimage/tree/lf-6.6.23-2.0.0 and rebuild it with
    make SOC=iMX95 flash_a55 LPDDR_TYPE=lpddr5 OEI=YES
    .

Build from the commandline

To build the BSP on your host system, in a Command Prompt window (Windows) or a terminal (Linux), you must first build at the root directory of the BSP (BSP_ROOT_DIR), then you can build using the Makefile targets described previously in the $BSP_ROOT_DIR/images directory. To build your BSP, perform the following steps:

  1. Download the BSP archive, unzip it, and set up your environment to build. For more information, see Download and set up the BSP.
  2. In the BSP's images directory ($BSP_ROOT_DIR/images), type make clean to remove the default image files from the $BSP_ROOT_DIR/images directory.
    cd $BSP_ROOT_DIR
    cd images
    make clean

    This action removes all existing image files.

  3. Navigate back to the BSP_ROOT_DIR and type make. Running make does the following:
    • builds the BSP and creates its directories
    • places any images required for the board into the $BSP_ROOT_DIR/images directory
cd $BSP_ROOT_DIR
make

You should now have an IFS file called qnx-ifs.

Note:
After you build, there might be multiple IFS files in the $BSP_ROOT_DIR/images directory if your Makefile builds multiple IFS files.
Note:
We recommend that you use the make command to build your QNX IFS image. If you use the mkifs utility directly, ensure that you use the -r option to specify the location of the binaries.

Generating a Disk Image

This BSP has included a tool to generate a disk image that can be directly flashed to an SD. To generate the image you must have your IFS and IPL in the $BSP_ROOT_DIR/images directory, either from the prebuilt binaries or as outlined in the Build the BSP chapter in this guide. To generate the image, perform the following steps:

  1. In the BSP's images/tools/ directory ($BSP_ROOT_DIR/images/tools), copy the DTB.
    cd $BSP_ROOT_DIR/images/tools
    cp imx95-19x19-evk.dtb .
  2. Run the mkdiskimage script. Your output should look similar to this:
    ./mkdiskimage
     
    # Create the DOS partition image for IFS
    mkfatfsimg -vv part_dos_boot.build part_dos_boot.img
    Using compatibility profile 'generic'
    Using FAT16, 64 sectors per cluster
    Creating '/'...
    Adding 'qnx-ifs'
    Adding 'IMX-DTB'
    Leaving '/'.
    Pad image file...
     
    # Create the QNX6 partition image for data storage
    mkqnx6fsimg -vv part_qnx_data.build part_qnx_data.img
    Using compatibility profile '7.0.0'
    Creating '/'...
    Creating '.boot/'...
    Leaving '.boot/'.
    Creating 'etc/'...
    Creating 'ssh/'...
    Leaving 'ssh/'.
    Leaving 'etc/'.
    Creating 'var/'...
    Creating 'run/'...
    Leaving 'run/'.
    Leaving 'var/'.
    Creating 'scripts/'...
    Adding 'board_startup.sh'
    Leaving 'scripts/'.
    Leaving '/'.
    Pad image file...
     
    # Create the USB disk image
    diskimage -o disk.img -c disk.cfg
    WARNING: Raw section image file is not the expected size: '../ipl-imx95-evk_b0.imx' (expected: 1024000, actual: 873472)
    DONE
     
    rm part_dos_boot.img part_qnx_data.img
  3. Flash disk.img to your SD using your flashing tool of choice.
Page updated: