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 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 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-manfiest 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 kirstone-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 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/rity-demo-image-tungsten-700-smarc.wic.img

Features list

The image built above contains the following components: The next sub-sections will describe how to test most features.

GPU acceleration

To test GPU you can use glmark2: root@tungsten-700-smarc:~# glmark2-es2-wayland --fullscreen


Once the eth0 interface is up, you can use iperf3 to check Ethernet performances: root@tungsten-700-smarc:~# iperf3 -c Connecting to host, port 5201 [ 5] local port 32880 connected to port 5201 [ ID] Interval Transfer Bitrate Retr [ 5] 0.00-10.00 sec 1.09 GBytes 938 Mbits/sec 0 sender [ 5] 0.00-10.04 sec 1.09 GBytes 932 Mbits/sec receiver


You can test Wi-Fi with nmcli as shown below: root@tungsten-700-smarc:~# nmcli d wifi connect <network_name> password <password> Device 'wlan0' successfully activated with '796c47ef-fb49-4b9b-9c7f-dc9d7250568f'. root@tungsten-700-smarc:~# iw wlan0 link Connected to 9a:dc:97:07:5b:5a (on wlan0) SSID: golfcourse freq: 5520 RX: 30561 bytes (215 packets) TX: 7899 bytes (63 packets) signal: -59 dBm rx bitrate: 864.8 MBit/s 80MHz HE-MCS 8 HE-NSS 2 HE-GI 0 HE-DCM 0 tx bitrate: 720.6 MBit/s 80MHz HE-MCS 7 HE-NSS 2 HE-GI 0 HE-DCM 0 bss flags: short-slot-time dtim period: 3 beacon int: 100 root@tungsten-700-smarc:~# ping google.com -Iwlan0 PING google.com ( 56 data bytes 64 bytes from seq=0 ttl=55 time=3.470 ms ...


You can test bluetooth with hciconfig: root@tungsten-700-smarc:~# hciconfig hci0 up root@tungsten-700-smarc:~# hcitool scan Scanning ... 4C:BA:D7:64:CB:CD Iphone

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