C

Building QBSP with Yocto

Qt Board Support Package (QBSP) is an extension to the Qt online installer using Qt Installer Framework. It provides a way to deliver and install additional content that is not directly available from the online repositories.

A QBSP contains a cross-compilation toolchain that gets integrated into Qt Creator, and a device image that can be used to boot your device using Boot to Qt Software Stack.

Note: Before you can build QBSP files, you must set up your environment. For more information, see Setting Up Environment for Building Boot to Qt.

Building a QBSP with Yocto

The creation of QBSP is integrated into the Yocto meta layer (meta-boot2qt) which is used for creating both the toolchain and the device image. In short, a QBSP for Boot to Qt is generated when issuing a following bitbake command:

bitbake meta-b2qt-embedded-qbsp

This builds both the toolchain (meta-toolchain-b2qt-embedded-qt6-sdk) and the image (b2qt-embedded-qt6-image), and then packages them into a QBSP file. The generated QBSP file is located in the tmp/deploy/qbsp/ directory in Yocto build environment.

The QBSP packaging respects the SDKMACHINE variable. For example, if SDKMACHINE is set to x86_64-mingw32, a Windows toolchain will be packaged into the QBSP.

QBSP Yocto Recipes and Classes

The following classes and variables control the creation of a QBSP. These are useful when a target hardware has not been integrated into meta-boot2qt, or there is a need to modify specific aspects of a package.

qbsp-image.bbclass

The QBSP needs a suitable device image to include into the package. To do this, inherit qbsp-image.bbclass in the image recipe that will be used. The content of the package is controlled with the QBSP_IMAGE_CONTENT variable. Usually Boot to Qt images include a .wic.xz file, a .conf file used by the Flashing Wizard and a readme file.

QBSP_IMAGE_CONTENT = "\
    ${IMAGE_LINK_NAME}.${DEPLOY_CONF_IMAGE_TYPE} \
    ${IMAGE_LINK_NAME}.conf \
    ${QBSP_README} \
    "

qbsp.bbclass

This is the main class that handles the creation of the QBSP. Various aspects of the QBSP can be controlled through the following variables:

QBSP VariablePurposeUsual value in Boot to Qt
QBSP_SDK_TASKTask for creating the external SDK included in the QBSP.meta-toolchain-b2qt-embedded-qt6-sdk
QBSP_IMAGE_TASKTask for creating the device image included in the QBSP. The recipe needs to inherit qbsp-image.bbclass to generate the expected packages.b2qt-embedded-qt6-image
QBSP_IMAGE_CONTENTList of files that are packaged as part of the QBSP device image.${IMAGE_LINK_NAME}.${DEPLOY_CONF_IMAGE_TYPE}
${IMAGE_LINK_NAME}.conf
${QBSP_README}
QBSP_NAMEBase name for the QBSP, visible in the installer description.Boot2Qt ${QT_VERSION}
QBSP_INSTALLER_COMPONENTUnique component name. This string determines where in the installer tree the component is placed in relation to other components. With the default value, the tree is constructed as follows:
Boot to Qt Software Stack
   └ Boot to Qt Software Stack ${QT_VERSION}
       └ ${DEPLOY_CONF_NAME}
embedded.b2qt.${QTVERSION}.yocto.${MACHINE}
DEPLOY_CONF_NAMEDescriptive name for the target machine. Defaults to ${MACHINE}.[device vendor] [device model]
DEPLOY_CONF_IMAGE_TYPEImage type for IMAGE_LINK_NAME, such as img, wic or wic.xz.wic.xz
QBSP_INSTALL_PATHLocation under the Qt SDK where the files are installed./${PV}/Boot2Qt/${MACHINE}
QBSP_LICENSE_FILEIf a separate license agreement needs to be accepted before installation, this variable defines the file that contains the license text.Depends on ${MACHINE}
QBSP_LICENSE_NAMEDescriptive name for the license shown in the installer.Depends on ${MACHINE}
QBSP_READMEA file containing installation instructions for the device. See qbsp-readme.bb recipe for more details.README

meta-b2qt-embedded-qbsp.bb

meta-b2qt-embedded-qbsp is the meta-recipe that builds the QBSPs with Boot to Qt image and toolchain. It inherits qbsp.bbclass and sets dependencies to the selected image and toolchain recipes. In addition, it sets variables to control the install locations and how the content is displayed in the Qt online installer.

Verifying QBSP Build

After you have built the QBSP file, you can verify it with the Qt online installer. If the QBSP file was successfully created, you can load it into the installer and install the QBSP's content.

Verify your QBSP build as follows:

  • Launch the Qt online installer.
  • Follow the instructions in the wizard until you reach the Select Components page.
  • Select Browse QBSP Files (1).
  • Browse to your QBSP file and select Open.
  • Content of your QBSP file appears in the tree view.
  • Select the component(s) to be installed and follow instructions in the wizard.

You should be able to find the installed QBSP content under your <Qt installation directory>.

Available under certain Qt licenses.
Find out more.