IoT Yocto v25.1-dev Pre-Release for Genio 720/520 EVK
Last Update: 2025-09-30
This guide shows you how to build and flash the development version of
IoT Yocto to Genio 720/520 EVK.
Overview
The document describes brief steps on how to build the in-development IoT Yocto v25.1-dev for Genio 720/520 EVK board.
For explanation on topics not mentioned in the document, please refer to MediaTek IoT Yocto Developer Guide for details. Please note that the documentation is in the preliminary phase and is subject to changes without notice.
Build Host Environment Setup
The IoT Yocto codebase is hosted in several repositories. Part of those repos are public repos, which can be accessed without special permission; several repos are restricted, which requires customer to create a Gitlab account and sign NDA before being able accessing them. To setup a Gitlab account, please refer to GitLab Account Setup.
Before building IoT Yocto image, please refer to following links to correctly setup your building environment:
More Information on Gitlab Account Setup
After generating HTTP access token, there are two ways for setting up git to access NDA repos:
-
Using git credential store
-
Using .netrc. Git also supports reading login information from .netrc file.
Both ways work, so you only need to choose one of them for setting up access token.
If neither of them is set, you can consider creating .netrc file with following commands:
$ echo "machine gitlab.com login <USER NAME> password <PASSWORD>" \
>> $HOME/.netrc
$ chmod 600 $HOME/.netrc
Additional Package
More packages need to be installed in addition to packages mentioned in Setup Build Environment:
$ sudo apt install libssl-dev
Building
Step 1: Download recipes
Fetch the development recipes from the rity/scarthgap manifest branch:
$ mkdir iot-yocto; cd iot-yocto
$ export PROJ_ROOT=`pwd`
$ repo init -u https://gitlab.com/mediatek/aiot/bsp/manifest.git -b rity/scarthgap
$ repo sync -j 12
Step 2: Configure build environment
$ export TEMPLATECONF=$PROJ_ROOT/src/meta-rity/meta/conf/templates/default
$ source src/poky/oe-init-build-env
$ export BUILD_DIR=`pwd`
Step 3: Edit local.conf
$ echo 'NDA_BUILD = "1"' >> $BUILD_DIR/conf/local.conf
$ echo 'DL_DIR = "${TOPDIR}/../downloads"' >> $BUILD_DIR/conf/local.conf
$ echo 'SSTATE_DIR = "${TOPDIR}/../sstate-cache"' >> BUILD_DIR/conf/local.conf
Step 4: Fetch and build image
Please note that:
-
Genio 520 and Genio 720 shares the same
MACHINE. -
Genio 520 P3V3 and Genio 720 EVK P2V3 also shares the same
MACHINE. -
However, different boot storage options needs to use different
MACHINEnames since they have different storage image format.
Currently, Genio 720 and 520 EVK comes with 3 storage options: eMMC, UFS, and NOR flash.
Please run commands according to the boot configuration on Genio 720/520 EVK:
- eMMC boot: Build
MACHINE=genio-720-evk - UFS boot: Build
MACHINE=genio-720-evk-ufs - NOR flash boot:
MACHINE=genio-720-evk-norboot-ufs
Note: Currently the UFS part WD SDINFD04-128 is NOT supported. We plan to add support for this UFS part in Pre-Releas 4. Before this UFS part support is ready in IoT Yocto, we suggest you to use eMMC boot for Genio 720/520 EVK evaluation.
For building the image with UFS support, run followng commands:
$ export MACHINE=genio-720-evk-ufs
$ bitbake rity-demo-image
For the image with EMMC support:
$ export MACHINE=genio-720-evk
$ bitbake rity-demo-image
For the image with NOR boot and root file system on the UFS storage:
$ export MACHINE=genio-720-evk-norboot-ufs
$ bitbake rity-demo-image
You can also build rity-bsp-image instead to reduce the image size.
Hardware Settings
The system boot storage of Genio 720 and 520 EVK boards is selected by
on-board DIP switch and jumpers.
Please correctly configure the system boot storage before flashing
corresponding board image.
Power Path (AC Power)
Set the Power Path jumpers, located near the DC IN power jack to 12V DC.
Power Path (USB-C PD)
While IoT Yocto does not support charging functions from the PD port, the board can be powered by the USB-C PD port.
Set the Power Path jumpers to VBUS to supply power from the USB-C PD port.
UFS and eMMC Boot
To select system boot between eMMC and UFS, set these DIP switches & jumpers:
NOR Flash Boot
To select system boot using NOR flash and UFS as root file system
(MACHINE=genio-720-evk-norboot-ufs), set the DIP switch:
-
SW1 DIP1:ON, DIP2:OFF
-
SW2 DIP1:OFF, DIP2:ON
-
SW4 DIP1:ON, DIP2:OFF
and set jumper as the UFS config:
- J496 short, J508 1-2 short
For further details, please refer to [Genio 720 and Genio 520 Evaluation Kit
User Guide](Genio 720: Advanced Power-Efficient IoT Platform for GenAI | MediaTek Genio).
Please note that currently the EVK user guide assumes that an Android
image is being used, so it does not describe NOR boot configuration.
Flashing
Install development version of genio-tools to support Genio 720/520:
pip install -U --pre genio-tools
The --pre option installs development versions.
After installation, check the version of genio-flash command:
genio-flash --version
It should be 1.7.0a2 or later.
To flash IoT Yocto image to Genio 720 / 520 EVK board,
change directory to the image, then run the command:
$ genio-flash
Troubleshooting
If genio-flash fails to flash the EVK board. Check if the EVK board has an Android image installed.
In some cases you need to erase the Android image before flashing IoT Yocto image.
To do so, download Smart Phone Flash Tool (SPFlashTool) and appropriate Android image to format the storage:
If you do not have SP Flash Tool and corresponding Android image, please contact your MediaTek representative.
Note:
- The formatting process only needs to be done once.
- The Android image is only used for formatting process. It is not required for running IoT Yocto.





