Tungsten700 SMARC Yocto Kirkstone Release

Published on November 13, 2023

We are pleased to announce a Yocto Release for our new Tungsten700 SMARC! This release is based upon the Mediatek iot-yocto-v23.1 (Kirkstone) release and includes our 5.15 kernel. Below you will find a download link for the image as well as detailed instructions for building including a features set.

Prebuilt Image

You can download the Yocto image from here:

How to Burn

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

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

=> fastboot 0

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

Next, unzip image:

~$ unzip *-tungsten-700-smarc-yocto-kirkstone.zip -d Tungsten700-Yocto
~$ cd Tungsten700-Yocto

Finally, flash the image(s):

Flash bl2.img to mmc0boot0 partition:

~/Tungsten700-Yocto$ fastboot flash mmc0boot0 bl2.img

Flash wic.img to mmc0 partition:

~/Tungsten700-Yocto$ fastboot flash mmc0 rity-demo-image-tungsten-700-smarc.wic.img

Build Procedure

This image uses the kirkstone-mtk-v23.1 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 && cd kirkstone-mtk
~/kirkstone-mtk$ repo init -u https://github.com/boundarydevices/yocto-manifest.git -b kirkstone-mtk-v23.1 
~/kirkstone-mtk$ repo sync

Then, setup the environment for building:

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

Finally, set the MACHINE to be tungsten-700-smarc and bitbake rity-demo-image:

~/kirkstone-mtk/build$ MACHINE=tungsten-700-smarc bitbake rity-demo-image

The image file will deploy to tmp/deploy/images/tungsten-700-smarc/rity-demo-image-tungsten-700-smarc.wic.img

Features List

The image built above contains the following components:

GPU Acceleration

To test GPU, you can use glmark2:

root@tungsten-700-smarc:~# glmark2-es2-wayland --fullscreen

Ethernet

Once the eth0 interface is up, you can use iperf3 to check Ethernet performance:

root@tungsten-700-smarc:~# iperf3 -c 192.168.1.60

Wi-Fi

You can test Wi-Fi with nmcli as shown below:

root@tungsten-700-smarc:~# nmcli d wifi connect  password 
Device 'wlan0' successfully activated with '796c47ef-fb49-4b9b-9c7f-dc9d7250568f'.

Bluetooth

You can test Bluetooth with hciconfig:

root@tungsten-700-smarc:~# hciconfig hci0 up

VPU Decoding

You can test VPU with GStreamer:

root@tungsten-700-smarc:~# wget http://linode.boundarydevices.com/videos/SKYFALL-4K.mp4
root@tungsten-700-smarc:~# gst-launch-1.0 -v filesrc location=/home/root/SKYFALL-4K.mp4 \
    ! parsebin ! v4l2h264dec ! queue \
    ! v4l2convert output-io-mode=dmabuf-import capture-io-mode=dmabuf ! queue \ 
    ! waylandsink fullscreen=true

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