We are pleased to announce a Boot2Qt Embedded Qt6 Kirkstone v23.2 Release for our Tungsten Platforms! This release uses Qt 6.4.3 and includes our 5.15 kernel. Below you will find the download links for the images and toolchains as well as detailed instructions for the build.

Prebuilt Images

You can download the Boot2Qt Yocto images and Linux toolchains from here:

You can download the Boot2Qt Yocto images and Windows toolchains from here:

Instructions on how to use the QBSP toolchain in your Qt application development can be found here. As usual, you’ll need to register on our site and agree to the EULA because it contains NXP content.

How to Burn

The .zip archive include all the files to be flashed using fastboot.

First you need to enter fastboot mode from U-Boot prompt:

=> fastboot 0

If you are unable to get into fastboot mode from U-Boot, you can follow the this blog to recover your Tungsten platform.

Next, unzip image:

~$ unzip 20240419-tungsten-700-smarc-yocto-kirkstone-boot2qt.zip -d Tungsten-Yocto-Boot2qt
~$ cd Tungsten-Yocto-Boot2qt

Finally, flash the image(s):

Flash bl2.img to mmc0boot0 partition:

~/Tungsten-Yocto-Boot2qt$ fastboot flash mmc0boot0 20240419-tungsten-700-smarc-bl2.img

Flash wic.img to mmc0 partition:

~/Tungsten-Yocto-Boot2qt$ fastboot flash mmc0 20240419-tungsten-700-smarc-boundary-b2qt-embedded-qt6-image-tungsten-tungsten-700-smarc.wic.img

Build procedure

This image uses the kirkstone-mtk-v23.2 branch of our yocto-manifest repository.

To build the image, we recommend using a Docker Container so that you can build with a reproducible and stable build environment. Otherwise, you’ll need these packages installed as well as this repo tool that can be installed like this:

~$ sudo apt-get install repo

Now we are ready to build the image.

First, download the BSP yocto layers:

~$ mkdir ~kirkstone-mtk-boot2qt && cd kirkstone-mtk-boot2qt
~/kirkstone-mtk-boot2qt$ repo init -u https://github.com/boundarydevices/yocto-manifest.git -b kirkstone-mtk-v23.2 -m b2qt.xml
~/kirkstone-mtk-boot2qt$ repo sync

Then, setup the environment for building.

~/kirkstone-mtk-boot2qt$ TEMPLATECONF=$PWD/src/meta-boundary/conf/templates/tungsten_boot2qt source src/poky/oe-init-build-env
~/kirkstone-mtk-boot2qt$ export BUILD_DIR=`pwd`

Finally, build the Boundary Boot2Qt Embedded Qt6 Image Tungsten and Linux Toolchain (boundary-b2qt-embedded-qt6-image-tungsten) and meta-toolchain-b2qt-embedded-qt6-sdk). This can be done building boundary-meta-b2qt-embedded-qbsp-tungsten:

~/kirkstone-mtk-boot2qt$ MACHINE=tungsten-700-smarc bitbake boundary-meta-b2qt-embedded-qbsp-tungsten

Note: You can just build the Qt6 image by running “bitbake boundary-b2qt-embedded-qt6-image-tungsten”. To build a toolchain for Windows platforms add the following line to local.conf:

SDKMACHINE = "x86_64-mingw32"

After some time this should build the same image as above, with the layers being at commits as per the time when repo sync was executed. If you are interested in each project revision at the time of the build, you can find a frozen manifest for those images here.

The image file will deploy to tmp/deploy/images/tungsten-700-smarc/tungsten-700-smarc-boundary-b2qt-embedded-qt6-image-tungsten-tungsten-700-smarc.wic.img

Demo examples

We can run demos using the toolchain with qt creator. Below are a few examples for Qt6.4.3. Note that we are downloading the prebuilt demos from our linode server so that you can test without the toolchain.

Coffee Machine Demo

root@localhost:~# wget http://linode.boundarydevices.com/tungsten_boot2qt_demos/coffee
root@localhost:~# appcontroller coffee
"QT_IM_MODULE" "qtvirtualkeyboard"
"/usr/bin/coffee" QList()

Qt Quick 3D - Particles 3D Testbed Example

root@localhost:~# wget http://linode.boundarydevices.com/tungsten_boot2qt_demos/particles3d
root@localhost:~# appcontroller particles3d
"QT_IM_MODULE" "qtvirtualkeyboard"
"/usr/bin/particles3d" QList()

Qt Care

root@localhost:~# wget http://linode.boundarydevices.com/tungsten_boot2qt_demos/QtCare
root@localhost:~# appcontroller QtCare
"QT_IM_MODULE" "qtvirtualkeyboard"
"/usr/bin/QtCare" QList()
QML debugging is enabled. Only use this in a safe environment.

If you have any issues, please email support@boundarydevices.com