i.MX FRDM Development (FRDM) software release contains prebuilt images, documentation, and i.MX FRDM Yocto layer for FRDM-IMX boards. It also includes support for Matter and Debian release. This article will give a brief introduction of FRDM-IMX91 software release. For more details, please check i.MX FRDM Software User Guide.
FRDM-IMX91 Yocto BSP Release
Based on i.MX SW 2024 Q3 BSP release
- Linux kernel: 6.6.36_2.1.0
- u-boot: 2024.04
i.MX FRDM Yocto layer source: https://github.com/nxp-imx-support/meta-imx-frdm
FRDM-IMX91 BSP changes:
- U-boot: Add basic support for FRDM-IMX91
- Kernel: Add basic support for FRDM-IMX91 and add support for kinds of accessories
- FRDM-IMX91 Yocto layer: Add Yocto layer for FRDM-IMX91 and integrate u-boot/kernel patches
FRDM-IMX91 accessories and corresponding dtb:
- 5 inch Tianma LCD: imx91-11x11-frdm-tianma-wvga-panel.dtb
- RPI-CAM-INTB: imx91-11x11-frdm-mt9m114.dtb
- MX91AUD-HAT or MX91AUD-HAT + 8MIC-RPI-MX8: imx91-11x11-frdm-aud-hat.dtb
- 8MIC-RPI-MX8: imx91-11x11-frdm-8mic.dtb
- 2LL M.2 Module: imx91-11x11-frdm.dtb
Build FRDM-IMX91 Yocto Image:
- Download i.MX SW 2024 Q3 Release:
$ repo init -uhttps://github.com/nxp-imx/imx-manifest-b imx-linux-scarthgap -m imx-6.6.36-2.1.0.xml
$ repo sync
- Integrate meta-imx-frdm layer into Yocto code base:
$ cd ${MY_YOCTO}/sources
$ git clone https://github.com/nxp-imx-support/meta-imx-frdm.git
$ cd ${MY_YOCTO}
$ MACHINE=imx91frdm DISTRO=fsl-imx-xwayland source sources/meta-imx-frdm/tools/imx-frdm-setup.sh -b frdm-imx91
$ bitbake imx-image-full
- Flashing SD card image using dd:
$ zstdcat imx-image-full-imx91frdm.rootfs.wic.zst | sudo dd of=/dev/sdx bs=1M && sync
- Or using uuu to burn image to SD card:
$ uuu -b sd_all imx-image-full-imx91frdm.rootfs.wic.zst
FRDM-IMX91 Matter Support
Based on i.MX Matter 2024 Q3
To include Matter support, please follow below steps to include Matter layer into Yocto build.
- Download i.MX SW 2024 Q3 BSP Release:
$ repo init -u https://github.com/nxp-imx/imx-manifest -b imx-linux-scarthgap -m imx-6.6.36-2.1.0.xml
$ repo sync
- Download i.MX Matter Yocto layer:
$ cd ${MY_YOCTO}/sources/meta-nxp-connectivity
$ git remote update
$ git checkout imx_matter_2024_q3
- Integrate meta-imx-frdm layer into Yocto code base:
$ cd ${MY_YOCTO}/sources
$ git clone https://github.com/nxp-imx-support/meta-imx-frdm.git
$ cd ${MY_YOCTO}
$ MACHINE=imx91frdm-iwxxx-matter DISTRO=fsl-imx-xwayland source sources/meta-imx-frdm/tools/imx-frdm-matter-setup.sh bld-xwayland-imx91
$ bitbake imx-image-multimedia
FRDM-IMX91 Debian Release
FRDM-IMX91 has support for Debian 12 OS. i.MX Debian Linux SDK distribution is a combination of NXP-provided kernel and boot loaders with a Debian distro user-space image, which includes:
- Debian-based rootfs
- Debian Base (basic packages)
- Debian Server (more packages without GUI Desktop)
- Debian Desktop (with GNOME GUI Desktop)
- Linux kernel
- BSP components
- various applications (graphics, multimedia, networking, connectivity, security, and AI/ML)
For more details of NXP Debian Linux SDK Distribution, please check NXP Debian Linux SDK Distribution for i.MX and Layerscape.
Quick Start with Debian:
To create an SD card with Debian for FRDM-IMX91, please follow below steps.
- Download flex-installer on the Linux host
$ wget http://www.nxp.com/lgfiles/sdk/lsdk2412/flex-installer
$ chmod +x flex-installer
$ sudo mv flex-installer /usr/bin
- Plug the SD card into the Linux host and install the images as below
# format SD card
$ flex-installer -i pf -d /dev/sdb
# automatically download and install images into SD card
$ flex-installer -i auto -d /dev/mmcblk1 -m imx91frdm
- Plug the SD card into the FRDM-IMX91 board and install the extra packages as below
1. Setup Ethernet network interface by DHCP or setting it manually
$ dhclient -i end0
2. Set correct system time, for example
$ date -s "22 Nov 2024 09:00:00"
3. Install extra packages for GNOME GUI Desktop version
$ debian-post-install-pkg desktop
4. Or install extra packages for Server version without GUI Desktop
$ debian-post-install-pkg server
5. After finishing the installation, run the reboot command to boot up the Debian Desktop/Server system
Building Debian Images with Flexbuild:
To build Debian image with Flexbuild for FRDM-IMX91, please follow below steps.
- Set up the build environment
$ git clone https://github.com/nxp/flexbuild
$ cd flexbuild && source setup.env
#Continue to run commands below in case you need to build in Docker due to lack of Ubuntu 22.04 or Debian 12 host
$ bld docker
$ source setup.env
- Build image with Flexbuild
$ bld -m imx91frdm
- Flexbuild usage:
To build individual part of the image, please check below command list for Flexbuild usage
$ bld uboot -m imx91frdm (compile u-boot image for imx91frdm)
$ bld linux (compile linux kernel for all arm64 i.MX machines)
$ bld bsp -m imx91frdm (generate BSP firmware)
$ bld boot (generate boot partition tarball including kernel, dtb, modules, distro bootscript for iMX machines)
$ bld multimedia (build multimedia components for i.MX platforms)
$ bld rfs -r debian:server (generate Debian server rootfs)
$ bld apps -r debian:server (compile apps against runtime dependencies of Debian server RootFS)
$ bld merge-apps -r debian:server (merge iMX-specific apps into target Debian server RootFS)
$ bld packrfs -r debian:server (pack and compress target debian server rootfs)
Related Documentation
FRDM-IMX91 Documents:
More information about i.MX productions can be found at(http://www.nxp.com/imxlinux)
Debian documents at http://www.nxp.com/nxpdebian