Just like QNX systems built to run directly on hardware, a QNX 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 (6.6 or 7.0) 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, as
shown in the figure below.
Figure 1. Architecture-specific guest BSPs in the QNX Software Center.
Building a QNX Neutrino OS 7.0 guest
To build a QNX Neutrino OS 7.0 guest, assuming that since you are working with the
QNX Hypervisor 2.0 you already have QNX SDP 7.0 on your system:
- Set up your environment variables so that you can build QNX SDP 7.0 in your
guest BSP's root directory. This should be the location referenced by the
QNX7_GUEST_BSP_LOCATION variable. The default is
images/guest_bsps/qnx700/.
- If you haven't already done so, from the QNX Software Center, download the
QNX Neutrino Hypervisor Guest (SDP 7.0) for generic virtual machines
BSP for an x86 or ARM guest.
Unzip and place the QNX guest BSP in the location referenced by
QNX7_GUEST_BSP_LOCATION. For example:
# unzip ~/Downloads/BSP_hypervisor-guest-x86_64_br-mainline_be-700_SVN832288_JBN22.zip \
-d $QNX7_GUEST_BSP_LOCATION
- If you make changes to your guest BSP, from the guest BSP root directory, run
make.
If you have no more changes to make, you can rebuild the entire hypervisor system and
create a new disk image:
- Make sure that your environment is properly set up for QNX SDP 7.0 builds in
your HHBSP's root directory.
- Go to the HHBSP's root directory and run make to build a new
hypervisor bootable disk image with the new guest IFSs.
Building a QNX Neutrino OS 6.6 guest
To build a QNX Neutrino OS 6.6 guest you need to start by updating your 6.6
release:
From the QNX download site
(www.qnx.com/download/),
download and install the QNX SDP 6.6.
CAUTION:
If you already have QNX SDP 6.6, you must get the latest
updates, as they include changes required for running in a virtualized
environment.
- Set up your environment variables so that you can build QNX SDP 6.6 in your
guest BSP's root directory. This should be the location referenced by the
QNX660_GUEST_BSP_LOCATION variable. The default
is images/guest_bsps/qnx660/.
When you have your QNX SDP 6.6 environment ready:
- If you haven't already done so, from the QNX Software Center, download the
QNX Neutrino Hypervisor Guest (SDP 6.6) for generic virtual machines
BSP for an x86 or ARM guest, as needed.
Unzip and place the QNX guest BSP in the location referenced by the
QNX660_GUEST_BSP_LOCATION variable. For
example:
# unzip ~/Downloads/BSP_hypervisor-guest-x86_br-660_be-660_SVN832288_JBN21.zip \
-d $QNX660_GUEST_BSP_LOCATION
- If you make changes to your guest BSP, from the guest BSP root directory, run
make.
If you have no more changes to make, you can rebuild the entire hypervisor system and
create a new disk image:
- Make sure that your environment is properly set up for QNX SDP 7.0 builds in
your HHBSP's root directory.
- Go to the HHBSP's root directory and run make to build a new
hypervisor bootable disk image with the new guest IFSs.