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.
Configuring the BSP buildfile and building the image
- If you need a BSP other than the ones provided in the hypervisor package,
download the BSP to your work area on your development host (see Downloading a board-specific host BSP in this chapter).
- 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
DANGER
You can use the non-safety variant of the kernel module in systems
that don't need to be safety-certified. But if you're building a
safety-related system, you must load the safety variant of the kernel
module by adding
[module=qvm-safety] instead of
[module=qvm].
In this case, you shouldn't read this guide but instead read the
QNX Hypervisor for Safety 2.2 User's Guide
and 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.so
vdev-hpet.so
vdev-ioapic.so
...
vdev-virtio-console.so
vdev-virtio-input.so
vdev-virtio-net.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 = smmuman
/bin/smmu-rcar3.so = smmu-rcar3.so
/etc/smmuman/rcar-h3.smmu = ./smmuman-config/rcar-h3.smmu
- If you will use the shmem-host shared memory sample
application for testing, download the HHBSP (see The HHBSP framework), and copy the file from the HHBSP's prebuilt/
directory to your BSP's prebuilt/ directory.
- Include the VM configuration files (*.qvmconf) for the VMs
you will run in your hypervisor system.
- From your BSP's root directory, run make to build the host
IFS.
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.