Building QNX guests
A QNX OS system built to run as a guest in a QNX hypervisor environment uses a BSP, which supplies the architecture-specific and board-specific components.
For both ARM and x86 platforms, you need a hypervisor guest BSP to build a QNX guest. If you add new devices to the guest, you probably need to add the appropriate drivers to the BSP, and rebuild the guest with it.
In most cases, building a QNX guest requires only building a bootable image, as you would for a non-virtualized environment.
When you install QNX Hypervisor, the guest BSPs for all supported architectures are included in the installation, so your development host will have all of the components needed to build the QNX guest.
To modify and build the guest, after you have set up your build environment on your machine:
-
Make sure the virtual attribute is present in the bootstrap section of the guest's buildfile, so that it knows the VM architecture on which it will run. For example, for ARM you need:
and for x86 you need:[virtual=aarch64le,elf ...
[virtual=x86_64 ...
For more information about QNX buildfiles in general, see the
OS Image Buildfiles
chapter in the Building Embedded Systems guide. - Make the necessary changes to your guest OS. For instance, 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.
- From the guest BSP's root directory, run make. This uses the default buildfile to generate the guest IFS (for example, images/guest-1/qnx800-guest-1.build).
When the guest build succeeds, you can include the guest IFS in your hypervisor host system and transfer it to your target.