IoT Yocto v24.1 - 2025 January 9
IoT Yocto v24.1 release supports Genio SoC families based on Yocto Kirkstone and Linux 5.15. This page provides an overview of the major changes and new features in v24.1.
Supported Boards
This release supports following boards based on MT8365(Genio 350/G350), MT8370(Genio 510/G510), MT8390(Genio 700/G700), and MT8395(Genio 1200/G1200) MediaTek SoC families:
Board Name |
|
---|---|
|
|
|
|
|
|
|
Important
The support of Genio 700 EVK(P1V3) is deprecated in v24.1 release. IoT Yocto v24.1 supports Genio 700 EVK(P1V4). The differences are:
Genio 700-EVK(P1V3) uses
startek-kd070fhfid015
DSI panel.Genio 700-EVK(P1V4) uses
startek-kd070fhfid078
DSI panel. The panel is the same as Genio 510-EVK(P1V2) and Genio 1200-EVK(P1V2).
Supported Software Features & Specs
Please go to IoT Yocto Feature Table (v24.1) to check the software support status for the IoT Yocto v24.1 release.
You may find the following materials in this document:
Feature Table: Supported software feature list of IoT Yocto for each platform
Bootloader Driver: Supported drivers for each boot stage
Build Flavor: Supported build flavors and comprised packages
Specification: Supported software specifications for USB, Display, Video-in (Camera, HDMI-RX), Video Codecs, MDP (multimedia data format converter and resizer), JPEG, Audio, Wi-Fi and Bluetooth
Benchmark Suites: Supported benchmark tools and their versions
Stress Suite: Supported stress tools and their versions
Suspend & Resume Table: Suspend and resume behavior of each driver
DTBO List: List of DTBO (Device Tree Blob Overlay)
Bin & License Release Modules: List of non-OSS modules and their licenses
Prebuilt Images Download
As part of the IoT Yocto v24.1 release, the following prebuilt images are provided for evaluation and debugging purposes and are not suitable for production use.
Demo Images
These demo images are built from the rity-demo-image
recipe. They are configured to help you evaluate,
debug, and develop your own product images. These images are not suitable for production use since they have
various debugging options enabled.
Board |
Demo Image |
MD5 Checksum |
---|---|---|
|
||
|
||
|
||
|
Browser Images
These browser images contains a modified version of Chromium browser, in addition to all the contents in demo images. please refer to Chromium Browser for details.
Board |
Browser Image |
MD5 Checksum |
---|---|---|
|
||
|
||
|
IoT Yocto v24.1 is available in two different package groups:
Note
You don’t need a GitLab account to download the prebuilt images, but you need to agree to the Software License Agreement.
You don’t need a GitLab account to build the public image configurations.
You need a GitLab account and contracts to MediaTek to access and build the private image.
Public images: Built with packages that are available without explicit access permissions to the GitLab group. Some proprietary features are excluded, and some proprietary components are provided in binary-only format.
Private images: Require access to private repositories in the GitLab group. In the v24.1 release, the private image provides these additional features on top of the public configuration:
Security features on all Genio platforms, including:
eFuse writer and custom data field access
RPMB access API
ISP for RAW sensors and YUV sensors support on Genio 510, Genio 700 and Genio 1200
Xtensa-ANN support on Genio 350
MT7663 proprietary Wi-Fi driver on Genio 350
MT7663 BlueDroid support and proprietary Bluetooth driver on Genio 350
You may find the binary modules and their licensing in the last page of the IoT Yocto Feature Table (v24.1).
Note
In this release, we no longer provide prebuilt public images for evaluation, as their features are a subset of the
private images. Developers can still build images themselves using the NDA_BUILD = "0"
configuration.
Source Code Download
Important
Please read and agree the Software License Agreement before accessing or using IoT Yocto software. If you do not agree to the terms and conditions of the Software License Agreement, you must not access or use the software.
To download and build IoT Yocto recipes, please use the rity-kirkstone-v24.1
branch for repo manifest file:
repo init -u https://gitlab.com/mediatek/aiot/bsp/manifest.git -b refs/tags/rity-kirkstone-v24.1
To fetch source code and build images using these Yocto recipes, please refer to steps in Build from Source Code
Tools
genio-tools
is released to load built images to the development boards. Please refer to Get Started with IoT Yocto and Genio Tools for detailed usage.
Major Software Package Versions
Yocto LTS Kirkstone updated to 4.0.22
Linux kernel kept at v5.15.47
ATF version kept at v2.6
U-Boot version kept at v2022.10
OPTEE version kept at 3.19
Mali GPU driver version in DDK kept at r48
New Features
Serial NOR Boot (Genio 510, Genio 700, Genio 1200)
Genio 510, Genio 700, and Genio 1200 now support booting from serial NOR flash. The SoC boot ROM(BROM) supports second stage bootloaders on serial NOR flash.
While Genio EVK does not have on-board serial NOR flash, IoT Yocto provides reference machine configurations for serial NOR flash boot flow based on reworked EVK boards for the following boot flow:
BROM → NOR (bootloader) → eMMC (kernel and rootfs). The reference Yocto machine names are:
genio-510-evk-norboot
genio-700-evk-norboot
BROM → NOR (bootloader) → UFS (kernel and rootfs). The reference Yocto machine names are:
genio-1200-evk-norboot-ufs
The following bootloader features are supported in the reference machine configurations:
Fast Boot Optimization with stored DRAM calibration data
Secure Boot
Boot Logo
A/B Partition
Capsule Update
Anti-Rollback
Note
The following boot flow are not supported by reference NOR boot reference machine configurations:
BROM → NOR (bootloader) → TFTP (kernel and rootfs)
BROM → NOR (bootloader) → USB (kernel and rootfs)
BROM → NOR (bootloader) → SD Card (kernel and rootfs)
U-Boot Support TFTP (Ethernet), USB & SD Card Boot (Genio 510, Genio 700, Genio 1200)
U-Boot now supports drivers to load boot-able OS images from TFTP (Ethernet), USB, and SD Card.
Booting Device:
TFTP: Supports booting an OS from a remote server through Ethernet
USB: Supports booting an OS from a USB2 drive
SD Card: Supports booting an OS from an SD Card
Only the FIP boot is supported; EBBR Boot is not yet officially supported by IoT Yocto
For details, please refer to Boot from Other Storage (POC).
Chromium Browser with Hardware Acceleration (Genio 510, Genio 700, Genio 1200)
IoT Yocto has integrated a patched Chromium browser utilizing GPU and hardware video codec on Genio 510, Genio 700, and Genio 1200. This is a Proof-of-Concept(POC) of hardware acceleration for video playback and video conference use cases.
For details, please refer to Chromium Browser.
Audio Jack Detection (Genio 510, Genio 700, Genio 1200)
Genio 510, 700, and Genio 1200 now support headset jack detection. The headset plug-in status changes are reported as
input events and can be checked using the evtest
tool.
Sensor Raw Dump (Genio 510, Genio 700, Genio 1200)
The Genio 510, Genio 700, and Genio 1200 now support Sensor Raw Dump using the V4L2 sensor architecture:
Raw sensor data input from SENIF to CAMSV and can be accessed via the V4L2 interface
Validated with the
CAM DTB-D2
camera daughter board (IMX214)MediaTek Imgsensor architecture does not support this sensor raw dump feature
Libcamera Support (Genio 350, Genio 510, Genio 700, Genio 1200)
All the Genio platforms now support libcamera with YUV Senor or Sensor Raw Dump
Validated with the GStreamer element libcamerasrc
Supported by the V4L2 sensor architecture. The MediaTek Imgsensor architecture does not support libcamera.
Major Changes
Drop the support for Genio 700-EVK(P1V3). IoT Yocto now supports Genio 700-EVK(P1V4).
Remove Qt from rity-demo image to reduce build time.
Remove pre-built “public configuration” images (
NDA_BUILD = "0"
).Adjust the rootfs partition behavior; it now auto-expands to use up the remaining free storage. This is for the convenience of evaluation, but potentially not suitable for product images. Remove the
expand-rootfs
distro feature to disable such behavior.Adjust
systemd-journald
default log policy to avoid out-of-memory(OOM) errors when performing long duration testing with prebuilt images.Persistent log now writes to eMMC/UFS instead of writing to RAM (tmpfs). Storing persistent logs in tmpfs can occupy up to 50% of total system memory and lead to OOM errors.
systemd-journald
is now configured to use volatile log policy. To use persistent log policy, remove the drop file/etc/systemd/journald.conf.d/10-journald-default-volatile.conf
after boot into console.
Use a modified meta-clang Yocto layer to integrate Chromium browser. If you are upgrading on an existing codebase, use
--force-sync
option when runningrepo sync
.Enable Linux kernel configurations related to BTF(BPF type format) to improve eBPF support. This enables 3rd party system solutions based on eBPF, such as Exein Pulsar.