Build the BSP (commandline)

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

The Makefile found in the $BSP_ROOT_DIR/images/generic-uefi directory is used for the generic x86_64 board with UEFI boot mode. It defines the following targets:

all
Builds the QNX IFS images (x86_64-generic-uefi.efi).
clean
Delete all *.efi, *.sym and *.img files.
x86_64-generic-uefi.efi
Builds a QNX IFS image (x86_64-generic-uefi.efi) for a generic x86_64 platforms that loaded using UEFI. The buildfile used to build this image is x86_64-generic-uefi.build.
x86_64-generic-uefi-hyp.efi or hyp
Builds a QNX IFS image (x86_64-generic-uefi-hyp.efi) for a generic x86_64 platform that loaded using UEFI. This IFS image supports QNX hypervisor. The buildfile used to build this image is x86_64-generic-uefi-hypervisor.build.
disk_image
Creates a bootable disk image using the diskimage utility. This disk image include both UEFI (type 12) and BIOS (type 177) boot partitions with QNX IFS images. It also include a QNX partition (type 179) that could be used as a persistent storage to save executable or data.

The Makefile found in the $BSP_ROOT_DIR/images/generic-bios directory is used for the generic x86_64 board with BIOS boot mode. It defines the following targets:

all
Builds the QNX IFS images (x86_64-generic-bios.bin).
clean
Delete all *.bin, *.sym and *.img files.
x86_64-generic-bios.bin
Builds a QNX IFS image (x86_64-generic-bios.bin) for a generic x86_64 platforms that loaded using BIOS (Lagecy boot mode). The buildfile used to build this image is x86_64-generic-bios.build.
x86_64-generic-bios-hyp.bin or hyp
Builds a QNX IFS image (x86_64-generic-bios-hyp.bin) for a generic x86_64 platform that loaded using BIOS (Lagecy boot mode). This IFS image supports QNX hypervisor. The buildfile used to build this image is x86_64-generic-bios-hypervisor.build.
disk_image
Creates a bootable disk image using the diskimage utility. This disk image include both BIOS (type 177) and UEFI (type 12) boot partitions with QNX IFS images. It also include a QNX partition (type 179) that could be used as a persistent storage to save executable or data.

The Makefile found in the $BSP_ROOT_DIR/images/elkhart-lake directory is used for the Intel Elkhartlake CRB board with UEFI boot mode. It defines the following targets:

all
Builds the QNX IFS images (x86_64-ehl-crb-uefi.efi).
clean
Delete all *.efi, *.sym and *.img files.
x86_64-ehl-crb-uefi.efi
Builds a QNX IFS image (x86_64-ehl-crb-uefi.efi) for the Intel Elkhartlake CRB board that loaded using UEFI. The buildfile used to build this image is x86_64-generic-uefi.build.
x86_64-ehl-crb-uefi-hyp.efi or hyp
Builds a QNX IFS image (x86_64-ehl-crb-uefi-hyp.efi) for the Intel Elkhartlake CRB board that loaded using UEFI. This IFS image supports QNX hypervisor. The buildfile used to build this image is x86_64-ehl-crb-uefi-hypervisor.build.

The Makefile found in the $BSP_ROOT_DIR/images/amston-lake directory is used for the SECO Amston Lake SOM-SMARC-ASL board with UEFI boot mode. It defines the following targets:

all
Builds the QNX IFS images (x86_64-seco-amstonlake-uefi.efi).
clean
Delete all *.efi, *.sym and *.img files.
x86_64-seco-amstonlake-uefi.efi
Builds a QNX IFS image (x86_64-seco-amstonlake-uefi.efi) for the SECO Amston-lake SOM-SMARC-ASL board that loaded using UEFI. The buildfile used to build this image is x86_64-seco-amstonlake-uefi.build.

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

Build from the commandline

To build the BSP on your host system, in a Command Prompt window (Windows) or a terminal (Linux), 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 in the Installation Notes chapter.
  2. Navigate to the $BSP_ROOT_DIR directory. If you want to remove all prebuilt IFS images and re-build them later, run make clean:
    $ cd $BSP_ROOT_DIR
    $ make clean
                        
    Note:
    If you run the make clean command, it removes all prebuilt IFS images.
  3. Run make command in the BSP_ROOT_DIR. When you run make, it does the following:
    • copy the prebuilt directory to install directory;
    • copy header files to install directory;
    • build the source files in this BSP;
    • build the IFS images if they are removed in previous step.
    Note:
    No buildfile is generated. The buildfiles are preloaded in the $BSP_ROOT_DIR/images/generic-bios, $BSP_ROOT_DIR/images/generic-uefi, $BSP_ROOT_DIR/images/elkhart-lake, and $BSP_ROOT_DIR/images/amston-lake directories.
    $ make
                        
  4. If you changed any source file in this BSP, you need navigate to the directory that include the source file you've changed, and run make install command to rebuild the new code and copy it to the install directory, for example, you've updated the x86 startup code:
    $ cd src/hardware/startup/boards/x86
    $ make install
                        
    Note:
    If you run the make install command, it would build and copy the new binary to the install directory.

You should now have IFS files called images/generic-bios/x86_64-generic-bios.bin, images/generic-uefi/x86_64-generic-uefi.efi, images/elkhart-lake/x86_64-ehl-crb-uefi.efi, and images/amston-lake/x86_64-seco-amstonlake-uefi.efi.

Note:
We recommend that you use the make command to build your IFS image. If you use the mkifs utility directly, you must ensure that you use the -r option to specify the location of the binaries.
Page updated: