.. include:: /keyword.rst ================================== |IOT-YOCTO| v24.1 - 2025 January 9 ================================== .. contents:: Sections :local: :depth: 1 .. _yocto-v24.1: |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: .. list-table:: :header-rows: 1 * - Board Name - :ref:`MACHINE name for bitbake ` * - :doc:`Genio 350-EVK(P1V3) ` - * ``genio-350-evk`` * - :doc:`Genio 510-EVK(P1V2) ` - * ``genio-510-evk`` * - :doc:`Genio 700-EVK(P1V4) ` - * ``genio-700-evk`` * - :doc:`Genio 1200-EVK(P1V2) ` - * ``genio-1200-evk`` (EMMC boot) * ``genio-1200-evk-ufs`` (UFS boot) .. 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). .. _feature_table: .. _feature_table_v24.1: 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 .. figure:: /_asset/sw_yocto_release-notes_feature-table.png :target: https://download.mediatek.com/aiot/download/release-note/v24.1/v24.1_IoT%20Yocto_Feature%20Table_v1.0.pdf :align: center :width: 65% A Segment of IoT Yocto Feature Table (v24.1) .. _prebuilt-image-download-v24.1: 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. .. csv-table:: :header: "Board", "Demo Image", "MD5 Checksum" :widths: 8, 20, 10 :align: left ":doc:`G1200-EVK(P1V2) `", "`download demo image `__", "``c89e270fa19ec8d9ae1203500ed33d0b``" ":doc:`G700-EVK(P1V4) `", "`download demo image `__", "``c6be19cac796a3fec9226137ac7ca4b2``" ":doc:`G510-EVK(P1V2) `", "`download demo image `__", "``5d0dffe5d5c238acc45ec2e4cc91d3e7``" ":doc:`G350-EVK(P1V3) `", "`download demo image `__", "``022ab9a151807876d9fe684bd70ff0b0``" Browser Images -------------- These browser images contains a modified version of Chromium browser, in addition to all the contents in demo images. please refer to :doc:`/third-party/chromium-browser` for details. .. csv-table:: :header: "Board", "Browser Image", "MD5 Checksum" :widths: 8, 20, 10 :align: left ":doc:`G1200-EVK(P1V2) `", "`download browser image `__", "``16d3ea617ca4702c02a7c76e4cea8428``" ":doc:`G700-EVK(P1V4) `", "`download browser image `__", "``8c4d4bfb792ee03a328c56a9e9de165d``" ":doc:`G510-EVK(P1V2) `", "`download browser image `__", "``d5022f8f3fbf01d5eb181a09abc56378``" -------------------------------- |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 :ref:`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 :ref:`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 :ref:`Software License Agreement ` before accessing or using |IOT-YOCTO| software. If you do not agree to the terms and conditions of the :ref:`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: .. prompt:: bash $ auto $ 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 :doc:`/sw/yocto/get-started/build-code` Tools ===== ``genio-tools`` is released to load built images to the development boards. Please refer to :doc:`/sw/yocto/get-started` and :doc:`/tools/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 ============ .. contents:: v24.1 List of New Features :local: :depth: 1 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 :doc:`/sw/yocto/boot-from-external-storage`. 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 :doc:`/third-party/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. - For Genio 1200, refer to :ref:`here `. - For Genio 510 and Genio 700, refer to :ref:`here `. 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 :ref:`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 running ``repo 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 :doc:`Exein Pulsar `.