Building QNX guests

Just like QNX systems built to run directly on hardware, a QOS or QNX Neutrino OS system built to run as a guest in a QNX hypervisor environment uses a BSP, which supplies the architecture-specific components.

The qvm configuration sets up the VM in which a guest will run. In most cases, building a QNX guest requires only building a bootable image, as you would for a non-virtualized environment.

Note:

When building QNX guests:

  • Remember that the VM in which a guest will run must match the guest's expectations: architecture, board-specifics, memory and CPUs, devices, etc. (see Assembling and configuring VMs in the Configuration chapter).
  • Be sure to use the architecture-specific guest BSP for your guest's OS version (e.g., QNX Neutrino OS 7.0.4) and your board's architecture, not the board-specific board BSP.
  • If you add pass-through devices to your guest and these devices require drivers from the board-specific BSP, copy these drivers into the appropriate locations in the guest BSP's prebuilt/ directory.

Download QNX guest BSPs

Architecture-specific QNX guest BSPs are available from the QNX Software Center; for example:

Figure 1. Architecture-specific guest BSPs in the QNX Software Center.

Building a QOS 2.1 or QNX Neutrino OS guest

To build a QNX Neutrino OS guest, assuming that since you are working with the QHS, you already have QOS 2.1 on your developement host system:

  1. Set up your environment variables so that you can build a QNX OS in your guest BSP's root directory.
  2. If you haven't already done so, from the QNX Software Center, download the BSP for an x86 or ARM QNX Neutrino OS 7.0.4+ or QOS 2.1 guest.
  3. Unzip and place the QNX guest BSP in a convenient location. For example:

    # unzip ~/Downloads/BSP_hypervisor-guest-x86_64_br-mainline_be-704_SVN832288_JBN22.zip \
    	-d guest_bsp

    where guest_bsp is the location where you placed your guest BSP.

  4. If you make changes to your guest BSP, from the guest BSP root directory, run make.

You can now add the guest IFS to a bootable disk image with the host and transfer it to your target (see Hypervisor disk images in this chapter).