Posts by fs-support_PG

    F&S MX8MM Yocto Release 2024.10.1 (fsimx8mm-Y2024.10.1)

    This is a maintenance release for F&S modules of the i.MX8MM SoC family, based on the NXP lf-5.15.71_2.2.2 release.

    Supported Boards

    • PicocoreMX8MM-LPDDR4
    • PicocoreMX8MMr2-LPDDR4
    • PicocoreMX8MM-DDR3L
    • FS8MMOSM-SF

    Please see the new revision of following file

    FSiMX8MM_FirstSteps_eng.pdf

    for a description of how everything is installed and used. This doc sub-directory also contains other documentation, for example about the hardware of the boards and the starter kits.

    Please note that Yocto releases use a 'Y' for the version number. The version counting is independent form other releases.

    Content

    The release consists of the following files and directories:

    File Purpose
    README.md Release notes
    setup-yocto Script to download and install the Yocto release
    fs-release-manifest.xml Release Manifest, containing the used versions
    binaries/ Precompiled images (full names)
    sdcard/ Precompiled images (names as expected by install script)
    doc/ Manuals and documentation

    How to build

    Use the latest F&S Development Machine from the F&S website To build the example release binaries, run:


    Code
    1. git clone -b fsimx8mm-Y2024.10.1 https://github.com/FSEmbedded/releases-fus.git
    2. cd releases-fus
    3. ./setup-yocto <build_dir>
    4. cd <build_dir>/yocto-fus
    5. DISTRO=fus-imx-wayland MACHINE=fsimx8mm . fus-setup-release.sh
    6. bitbake fus-image-std

    Highlights

    Here are some highlights of this release.

    1. Update Linux Kernel to patch level 5.15.197

    Applying the latest bug and security fixes.

    2. Tested Yocto version 4.0.32 Kirkstone

    Updating poky to Version 4.0.32 Kirkstone. Updating other layers to their latest commits.

    Adding support for FSOSM8MM

    Adding support for the FSOSM8MM modules to the architecture specific releases

    Known Issues

    None

    Changelog

    The following list shows the most noticeable changes in this release in more detail since our last release for this platform. For a detailed description please check the respective git histories.

    u-boot-v2021.04-fs1.3

    • Add OSM8MM support
    • Switching to UART DM model

    linux-v5.15.197-2.2.0-fs1.0

    • Fix number of chip-selects property in all F&S DTS
    • Fix imx uart dma watermark level
    • Update to v5.15.197

    meta-fus-yocto-4.0.29-fs1.1

    • Add OSM8MM support

    [nboot-fsimx8mm-2024.09.4]

    • Add OSM8MM support

    linux-examples-fus-fs1

    (no changes)

    Documentation

    Please download the hardware documentation directly from our website. Then you always have the newest version.

    For further support please contact us in the F&S Forum


    A F&S Development Machine with preinstalled fsimx8mm-Y2024.10.1 Release can be found here

    New F&S Development Machine - Fedora36

    F&S MX8MP Yocto Release Y2024.07.2 (fsimx8mp-Y2024.07.2)

    This is a maintenance release for F&S modules of the i.MX8MP SoC family, based on the NXP lf-5.15.71_2.2.2 release.


    Supported Boards

    • PicocoreMX8MP
    • PicocoreMX8MPr2
    • armStoneMX8MP
    • efusMX8MP
    • SMARCMX8MP
    • FS8MPOSM-SF

    Please see the new revision of following file

    FSiMX8MP_FirstSteps_eng.pdf

    for a description of how everything is installed and used. This doc sub-directory also contains other documentation, for example about the hardware of the boards and the starter kits.

    Please note that Yocto releases use a 'Y' for the version number. The version counting is independent form other releases.

    Content

    The release consists of the following files and directories:

    File Purpose
    README.md Release notes
    setup-yocto Script to download and install the Yocto release
    fs-release-manifest.xml Release Manifest, containing the used versions
    binaries/ Precompiled images (full names)
    sdcard/ Precompiled images (names as expected by install script)
    doc/ Manuals and documentation

    How to build

    Use the latest F&S Development Machine from the F&S website To build the example release binaries, run:


    Code
    1. git clone -b fsimx8mp-Y2024.07.2 https://github.com/FSEmbedded/releases-fus.git
    2. cd releases-fus
    3. ./setup-yocto <build_dir>
    4. cd <build_dir>/yocto-fus
    5. DISTRO=fus-imx-wayland MACHINE=fsimx8mp . fus-setup-release.sh
    6. bitbake fus-image-std

    Highlights

    Here are some highlights of this release.

    1. Update Linux Kernel to patch level 5.15.197

    Applying the latest bug and security fixes.

    2. Tested Yocto version 4.0.32 Kirkstone

    Updating poky to Version 4.0.32 Kirkstone. Updating other layers to their latest commits.

    Adding support for FSOSM8MP

    Adding support for the FSOSM8MP modules to the architecture specific releases

    Known Issues

    None

    Changelog

    The following list shows the most noticeable changes in this release in more detail since our last release for this platform. For a detailed description please check the respective git histories.

    u-boot-v2021.04-fs1.3

    • Add OSM8MP support
    • Switching to UART DM model
    • Improve Realtek PHY reset timings

    linux-v5.15.197-2.2.0-fs1.0

    • Fix number of chip-selects property in all F&S DTS
    • Fix imx uart dma watermark level
    • Update to v5.15.197

    meta-fus-yocto-4.0.29-fs1.1

    • Add OSM8MP support

    [nboot-fsimx8mp-2025.04.1]

    • Add OSM8MP support

    linux-examples-fus-fs1

    (no changes)

    Documentation

    Please download the hardware documentation directly from our website. Then you always have the newest version.

    For further support please contact us in the F&S Forum


    A F&S Development Machine with preinstalled fsimx8mp-Y2024.07.2 Release can be found here

    New F&S Development Machine - Fedora36

    F&S Development Machine with Fedora 36 V1.9 (06.02.2026)

    There is a new Virtual Machine with Fedora36 in your download section available

    My F&S / Tools-Linux /VirtualMachines/Fedora36/64-bit (i.MX8)/ F_S_Development_Machine-Fedora_36_V1.9.ova


    The structure of the virtual machine is listed below.

    Content:

    • fsimx8mm-B2023.11 (/home/developer/fsimx8mm-B2023.11)
    • fsimx8mn-Y2024.02 (/home/developer/fsimx8mn-B2024.02)


    New Content:

    • fsimx8mp-Y2024.07.2 (/home/developer/fsimx8mp-Y2024.07.2)
    • fsimx8mm-Y2024.10.1 (/home/developer/fsimx8mm-Y2023.10)

    Removed Content:


    • fsimx8mm-Y2023.10
    • fsimx8mp-Y2024.07
    • armstonemx8mp-Y2024.07.1


    Your F&S Support Team

    F&S Development Machine with Fedora 40 V1.2 (19.12.2025)

    There is a new Virtual Machine with Fedora40 in your download section available

    My F&S / Tools-Linux /VirtualMachines/Fedora40/64-bit/ F_S_Development_Machine-Fedora_40_V1.2.ova


    The structure of the virtual machine is listed below.

    Content:

    • fsimx93-Y2025.08 (/home/developer/fsimx93-Y2025.08)
    • fsimx8ulp-Y2025.11 (/home/developer/fsimx8ulp-Y2025.11)

    New Content:

    • fsimx8mp-Y2025.12 (/home/developer/fsimx8mp-Y2025.12)

    Removed Content:

    F&S MX8MP Yocto Release 2025.12 (fsimx8mp-Y2025.12)

    This is a main release for F&S modules based on the i.MX8MP SoC, based on the NXP lf-6.6.52-2.2.1 release.

    Supported Boards

    • PicocoreMX8MP
    • PicocoreMX8MPr2
    • armStoneMX8MP
    • efusMX8MP
    • SMARCMX8MP
    • FS8MPOSM-SF

    Please see the new revision of following file

    FSiMX8MP_FirstSteps_eng.pdf

    for a description of how everything is installed and used. This doc sub-directory also contains other documentation, for example about the hardware of the boards and the starter kits.

    Please note that Yocto releases use a 'Y' for the version number. The version counting is independent form other releases.

    Content

    The release consists of the following files and directories:

    File Purpose
    README.md Release notes
    setup-yocto Script to download and install the Yocto release
    helper-setup-yocto Helper script for setup-yocto
    fs-release-manifest.xml Release Manifest, containing the used versions
    binaries/ Precompiled images (full names)
    sdcard/ Precompiled images (names as expected by install script)
    doc/ Manuals and documentation
    spdx/ SBOMs of release binaries in SPDX format

    How to build

    Use the latest F&S Development Machine from the F&S website To build the example release binaries, run:


    Code
    1. git clone -b fsimx8mp-Y2025.12 https://github.com/FSEmbedded/releases-fus.git
    2. cd releases-fus
    3. ./setup-yocto <build_dir>
    4. ./setup-yoto --docker <build_dir>
    5. cd yocto-fus
    6. DISTRO=fus-imx-wayland MACHINE=fsimx8mp . fus-setup-release.sh
    7. bitbake fus-image-std

    Highlights

    Here are some highlights of this release.

    1. New Linux Kernel 6.6.112

    The F&S Kernel is now based on the linux-fslc kernel.

    The fslc kernel has LTS updates for the NXP release versions, so security fixes can be applied more easily.

    The Linux kernel is now based on 6.6.112

    • EEVDF replaces the existing CFS code scheduler.
    • ReiserFS Officially Declared "Obsolete"
    • KSMBD Declared Stable
    • CephFS Completes Multi-Year Effort Adding FSCRYPT Support.
    • EXT4 Lands A Nice Performance Improvement
    • Tmpfs Gains New Features
    • NFS Enables NFSv4.2 READ_PLUS Option By Default
    • Brings Fixes, Partially Recovers From Scrub Performance Regression
    • Adding Randomized Kmalloc Caches (Linux Security)
    • Various Security improvements (Linux Security)
    • Various kernel graphics improvements

      ... Many other improvements.

      (https://www.phoronix.com/review/linux-66-features)

      Of course, there are also many changes for other CPU types (like x86) and other graphics cores (like AMD, Nvidia, Intel) but these are not of interest here.

    2. New bootloader U-Boot 2024.04a

    The U-Boot is now based on 2024.04.

    • Add support for i.MX8ULP and i.MX91/93.
    • Add support for TCP, HTTP and IPv6 handling to net infrastructure.
    • Switch default NFS implementation to NFSv3, use fallback to NFSv1/v2 if NFSv3 is not available on host (net/nfs.c).
    • Add support for VPL (Verifying Program Loader) to verify signatures and to decide which software to load, for example software set A or B. VPL is started after TPL and before SPL.
    • Add PWM and backlight support for i.MX8M.
    • Add support for PWM controlled LEDs (led_pwm.c).
    • Add hexdump_line() to format one line of hexdump. Add hex_dump_to_buffer(), print_hex_dump() and print_hex_dump_bytes() to format hex dumps in RAM or print them directly.
    • Add support for I3C in drivers/i2c/imx_i3c.c on NXP SOCs.
    • Add support for virtual I2C device in drivers/i2c/imx_virt_i2c.c. The I2C is actually handled by Cortex-M, CortexA just sends RPMsg to it.
    • Add support for bootflow menues with expo and scenes. The menu is handled by an exposition (expo) and can consist of several scenes (e.g. screens with a menu each). A scene can consist of several menu entries.
    • Add fonts 8x16, sun12x22 and ter16x32 (to include/).
    • Add support for RGBA pixel format in BMP images.
    • Add support for a new hush parser from current Busybox in addition to the hush parser from 2005.
    • Remove legacy drivers for many i.MX devices; they require Driver Model now.
    • Add support for Link Time Optimization (CONFIG_LTO) on ARM.
    • Move many CONFIG settings from .h to Kconfig.

    [!CAUTION] To update from older releases, please:

    1. Install U-Boot first
    2. Then reset the board to start the new U-Boot
    3. Then install NBoot.

    3. New Yocto version 5.0.14 Scarthgap

    Updating poky to Version 5.0.14 Scarthgap. Updating other layers to their latest commits.

    The meta-fus layer in now split into meta-fus-bsp and meta-fus-sdk. The meta-fus-bsp layer adds basic board support, while meta-fus-sdk adds additional features, which are note necessary to run the board.

    The meta-fus layer is now based on meta-freescale and not meta-imx. meta-freescale offers better long time support and more stable releases, while meta-imx supports the newest features but is not as stable and suitable for production. The meta-imx layers are still downloaded for reference, but not included into the build. If you need features from them, please consider adding the changes to your own meta-layer.

    4. New Docker based building system

    The F&S releases now support Docker containers as default building machines. By using the Docker environment, the build process can be executed on any Linux host, as long as the Docker is installed. Starting FS_Development_Machine-Fedora-40_V0.2 Docker will be pre-installed and the development machines will not support support building the releases directly anymore.

    If you do not want to use Docker, please check the Dockerfile for the dependencies. https://github.com/FSEmbedded/docker-fus/

    1. Download manifest repository

      Code
      1. git clone -b picocoremx8mm-ddr3l-Y2025.12 https://github.com/FSEmbedded/releases-fus.git
    2. Prepare Yocto-Build environment Run setup-yocto to prepare your Yocto-Build environment. The script will read the repo manifest.xml file and syncs all repositories that are needed for Yocto.

      Code
      1. cd releases-fus/
      2. ./setup-yocto <yocto-buildir>
    3. Prepare Docker-Environment The ./setup-yocto script is capable of setting up a Docker environment in which the bitbake program can be executed for the Yocto system. This command will open a docker shell, where you can execute all yocto commands as usual.

      Code
      1. ./setup-yocto &lt;yocto-buildir&gt; --docker
      2. cd yocto-fus/

    5. New Version naming for F&S Linux, U-Boot and meta-fus

    Linux and U-Boot and meta-fus now get their own version number to be more transparent and flexible. The Version numbers reflect the Version of the original package, if needed the NXP version and the F&S Version. For example the linux version name is composed like this

    [Version Orig. Kernel]-[Version IMX]-[Version FS]

    linux-v6.6.101-2.2.1-fus1.0

    This way it is easier to recognize the applied patch levels and the same package versions can be used in multiple releases.

    The actual packages versions are marked as annotated tags in the git history. The Name of the overall release (like fsimx93-Y2025.08) is still set as a light tag.

    6. Experimental Mainline Kernel support

    We have added a patchset to enable mainline kernel support for fsimx8mp boards to the meta-fus layer. You can test it by adding the following line to your conf/local.conf file in your yocto build directory:


    Code
    1. IMX_DEFAULT_BSP:forcevariable = "mainline"

    Most of the peripheries are working. We are planning to enable the mainline kernel for older architectures per default. For further support please contact the F&S Forum.

    Known Issues

    • F&S Over the Air Update is not supported

    Changelog

    The following list shows the most noticeable changes in this release in more detail since our last release for this platform. For a detailed description please check the respective git histories.

    u-boot-v2024.04-fus1.4

    • Update to version v2024.04
    • Add OP-TEE Support per default
    • Add Secure-Boot support per default
    • Add OSM8MP support
    • Add option to group ATF/TEE with U-Boot image
    • Support boot_instance USB2
    • Enable Watchdog in UBoot

    linux-v6.6.112-2.2.1-fus1.4

    • Update to version 6.6.112
    • Add OSM8MP support
    • Merge fsimx8mm/mp/mn_defconfigs into single fsimx8_defconfig
    • Add options in Device-Tree to configure ON_OFF button behavior
    • Add fs-specific tags and GPIO names for fsimx8mp device-trees
    • Add picocoremx8mp SD_A_CD device tree config
    • Fix handling of chip select for SPI_A and SPI_B on OSM8MP
    • Change i2c address of mipi2lvds1 adapter

    meta-fus-yocto-5.0.14-fus1.0

    • Split meta-fus in meta-fus-bsp and meta-fus-sdk
    • Update layer to yocto scarthgap
    • Add dynamic layers for basler and qt6
    • Clone fus specific gits from github again (Do not use the local gits anymore)
    • Add additional test packages to the fus-image-sdt
    • Use meta-freescale as base layer instead of meta-imx
    • Add possibility to add Chromium and SPDX generation via the fus-setup-release script
    • Add bcsend support to connect to the board via FSDeviceSpy
    • Improve remote desktop support
    • Update Kernel, Uboot, and ATF to the latest F&S versions
    • Add OSM8MP support
    • Add experimental kernel mainline support
    • Add chromium support with NXP hardware acceleration patches
    • Add OpenSSL Provider for SE050 security chip
    • Update fusimage-std packages

    atf-v2.10-fus1.2

    • Update to v2.10
    • Support various UART Devices for different Boards

    nboot-2025.12

    • Update to version v2024.04
    • Add CRC32 output of DRAM-TIMING
    • Add prototype for SPL_MULTI_DTB_FIT
    • Support boot_instance USB2
    • Support new board variants

    linux-examples-fus-fs1

    (no changes)

    Documentation

    Please download the hardware documentation directly from our website. Then you always have the newest version.

    For further support please contact us in the F&S Forum

    Hello,


    unblank_delay basically delayed the enable of the backlight by introducing a msleep at the end of the ipu init function.

    https://github.com/FSEmbedded/…7dc798b5c3909c73a30e8f02f


    You should get a similar functionality by adding the value post-pwm-on-delay-ms to your pwm-backlight node.

    https://github.com/FSEmbedded/…klight/pwm-backlight.yaml


    Your F&S Support Team

    Hello,


    with the command

    Code
    1. cat /sys/kernel/debug/clk/clk_summary


    You get an overview of all configured clocks and their actual rates. Maybe You can spot a clock that matches your measurement.


    Do you use a LVDS Display? LVDS_Clock/7=Pixelclock, so 250Mhz/7 = 35MHz which would be roughly the Pixelckock of a 7" Display.

    Gigabit Ethernet would use a 125MHz clock which would be half your measured frequency.


    Also did you try to disable different peripheries, like GPU or Ethernet an checked, if the peak is influenced?


    Did you measure the frequency in the laboratory or with a measuring probe?


    Your F&S Support Team

    Creating a SBOM in Yocto

    As software supply chain security becomes increasingly critical and the introduction of the Cyber Resilience Act generating a Software Bill of Materials (SBOM) is now a requirement for embedded Linux systems.


    A SBOM is a detailed inventory of all software components, libraries, and dependencies included in a system. It helps developers, security teams, and auditors understand what’s inside a software package, enabling better vulnerability management and compliance.


    Starting with Yocto 4.0 (Kirkstone) a SBOM, using the SPDX standard, can be generated during Build time.


    To enable SBOM generation add the following line to your conf/local.conf or any other configuration file:

    Code
    1. INHERIT += "create-spdx"

    Start your build again by running the bitbake <your-image-name> command.

    A compressed archive at tmp/deploy/images/<machine>/IMAGE-MACHINE.spdx.tar.zst will be created, which contains the index and files for each recipe in your image.


    You can configure the SPDX generation by adding the following lines to your configuration file:


    The additional files and archives can be found at [tt]tmp/deploy/spdx/[/tt] such as:

    • Compressed archives of the files in the generated target packages
    • Compressed archives of the source files

    Also, you can find the SPDX in JSON format for the U-boot in this directory. You will have to add it manually to your SBOM IMAGE-MACHINE.spdx.tar.zst, as it is not part of the Image by default, and will therefore not be added automatically.


    Your F&S Support Team

    Hello,


    1. Is the uboot that is build with the yocto build that one that is already installed on the board?

    By default, yes but if you have a special customer variant it may differ.


    2. What would be the easiest way to modify it?

    The easiest way would be the Uboot gpio command, because you would not have to recompile U-Boot:

    Code
    1. Usage:
    2. gpio <input|set|clear|toggle> <pin>
    3. - input/set/clear/toggle the specified pin
    4. gpio status [-a] [<bank> | <pin>] - show [all/claimed] GPIOs

    You could add them to the bootcmd environment variable before booting into linux. But you will have to test if this is quick enough.


    3. Is there an example, and are the GPIO names the same as in linux?

    You should be able to use GPIO reference card https://www.fs-net.de/assets/d…PIO-ReferenceCard_eng.pdf

    or the same formula as in Linux so the GPIO number for GPIO4_IO20 is (( 4-1)*32)+20)=116.

    However, if the default pad mux of the pin, which you are using is not GPIO it might not work.


    4. Do you suggest another solution?

    A faster way would be, to set the GPIOs during uboot start in the board file for example at

    https://github.com/FSEmbedded/…fsimx8mp/fsimx8mp.c#L1044


    You could take the following code as example

    https://github.com/FSEmbedded/…/fsimx8mp/fsimx8mp.c#L797

    https://github.com/FSEmbedded/…/fsimx8mp/fsimx8mp.c#L767


    However, of the GPOIs are normally set by the MCore, sharing them between cores should be avoided.

    When is your MCore application started? In Uboot or Linux?


    If it is Linux you might consider writing a small MCore program to set the GPIOs and run in in Uboot using the bootaux command.



    Your F&S Support Team

    Hello,


    an USB Hub does should not make a difference, software-wise.


    Did you check if your 5V USB voltage is present when running "usb start"?

    You do not seem too have connected USB_A_POWERON, so you would need a static 5V USB power supply on your baseboard.


    Your F&S Support Team