After you have downloaded the hypervisor package and configured your build environment, all of the components needed to build the hypervisor host should be on your development host system at $QNX_TARGET.
As needed, modify your BSP buildfile to include the files you need. These include:
The libmod_qvm.a kernel module, which requires adding a [module=qvm] prefix to the buildfile line that includes procnto*. For example, change:
LD_LIBRARY_PATH=/usr/lib:/lib:/lib/dll procnto-smp-instr
to:
[module=qvm] LD_LIBRARY_PATH=/usr/lib:/lib:/lib/dll procnto-smp-instr
When using the QHS, you must specify that you want the safety variant of the kernel module, by adding [module=qvm-safety] instead of [module=qvm].
The same requirement of using the -safety variant applies when adding vdevs and the SMMUMAN service.
For more information, see the QNX Hypervisor for Safety 2.2 Safety Manual.
The hypervisor files: qvm and, optionally for x86, the qvm-check utility. For example:
/sbin/qvm = qvm /bin/qvm-check = qvm-check
The vdev-*.so file for every vdev you want to make available for your guests. For example:
vdev-8259-safety.so vdev-hpet-safety.so vdev-ioapic-safety.so ... vdev-virtio-console-safety.so vdev-virtio-input-safety.so vdev-virtio-net-safety.so
The smmuman service, architecture, and board support libraries, and configuration files. For example, for a QNX hypervisor system on a supported Renesas R-Car H3 board:
/bin/smmuman-safety = smmuman-safety /bin/smmu-rcar3-safety.so = smmu-rcar3-safety.so /etc/smmuman/rcar-h3-safety.smmu = ./smmuman-config/rcar-h3-safety.smmu
If the host build succeeds, you can now build the guests (i.e., IFSs for QNX guests, and kernels, initrd files, disks, etc. for Linux guests) and assemble the host and the guests into an image that you can transfer to your target.