F&S i.MX8X Yocto Release Y2022.08 (fsimx8x-Y2022.08)
Please see the file
for a description of how everything is installed and used.
This is a major release for all F&S boards and modules based on the i.MX8X CPU, i.e. efusMX8X. More boards may be added to this family in the future. All these boards can work with software that is created from this release package.
Here are some highlights of this release.
1. New Boot concept for i.MX8X based boards (fsimx8x-NBoot)
The fsimx8x-NBoot is a first stage bootloader preinstalled to the boards, similar to the fsimx6 Nboot.It handles many board-specific configurations like the DRAM initialization or assembly variants so the user does not need to care about it.
It does not yet offer the full functionality of the fsimx6 NBoot, like an own command line, but will be further developed in this direction.
NBoot and U-Boot can be easily updated using the new fsimage command, that automatically flashes to the right hardware partitions. For more information on the fsimage command please see the Linux On F&S Boards documentation chapter "Command fsimage To Handle F&S Images".
The fsimx8x-Nboot is delivered as a binary with this release.
2. New Linux kernel 5.4.70
The Linux kernel is now based on version 5.4.70.
This release includes the kernel lockdown mode, intended to strengthen the boundary between UID 0 and the kernel; virtio-fs, a high-performance virtio driver which allows a virtualized guest to mount a directory that has been exported on the host; fs-verity, for detecting file tampering, like dm-verity but works on files rather than block devices; dm-clone, which allows live cloning of dm targets; two new madvise() flags for improved app memory management on Android, support for new Intel/AMD GPUs, support for the exfat file system and removing theexperimental status of the EROFS file system; a new haltpoll cpuidle driver and governor that greatly improves performance for virtualized guests wanting to do guest-side polling on the idle loop; and blk-iocost, a I/O cgroup controller that attempts to calculate the cost of I/O more accurately. As always, there are many other new drivers and improvements.
3. New eMMC-Image format sysimage
We introduce a new image format for eMMC based boards, that contains a raw Uboot partition, a FAT32 Boot partition for Kernel and device trees, and an ext4 partition for the rootfs. This image can be flashed to the eMMC as a whole, allowing an easy update of the system at once. For further information please the Linux On F&S Baords documentation chapter Mass Storage Devices -> eMMC.
Please note that the sysimage layout of Buildroot and Yocto currently differ so exchanging separate partitions between those two might not work. This will be fixed in future releases.
4. Usage of KMS output-chain for DRM bridges
To ensure the usage of different bridges and panels the kernel mode setting (KMS) will now be used for our device trees. The concept behind KMS is to create one or multiple DRM pipelines consisting of an encoder, bridges and a panel with one or more connectors. The idea is that the display driver knows the display modes that each member of the pipeline supports and can configure a valid display mode for the pipeline.
5. Yocto 3.0 (Zeus)
With this release systemd will be the default init system for the example-fus-images.
Systemd is a init system and service manager for Linux operating systems. It provides a system and service manager that runs as PID 1 and starts the rest of the system. Systemd provides aggressive parallelization capabilities, uses socket and D-Bus activation for starting services, offers on-demand starting of daemons, keeps track of processes using Linux control groups, maintains mount and automount points, and implements an elaborate transactional dependency-based service control logic.
It is configured via the systemctl application.
Also the root file system will now be mounted as read-write by default. This can be changed to read-only when setting up the build enviroment via the fus-setup-release.sh script. See LinuxOnFSBoards_eng.pdf for a detailed description.
6. New toolchain fs-toolchain-9.3-armv8ahf
It showed that some packages needed newer Kernelheaders to compile. So we have updated the toolchain again. Please use this new toolchain together with the code of this release.
Remark: When changing the toolchain, you should always clear the compiler cache, e.g.
rm -r ~/.ccache ~/.ccache-buildroot
Otherwise the compiler may mix up precompiled code from the cache with newly compiled code, causing strange runtime errors.
In the past, the documentation that was included in the release package itself was often superseded by newer versions on our website. But people continued to use the outdated version of the release, causing unnecessary complications.
To avoid this, from now on only the software related documentation is directly included in the release and we have added a chapter to FSiMX8X_FirstSteps_eng.pdf that contains direct links to the
appropriate resources on our website. There you can download the newest versions of hardware documentations, schematics, layout files, certificates, accessories, add-ons, adapters and similar things.
The software documentation is completely reworked. The FSiMX8X_FirstSteps_eng.pdf document now really only shows a basic introduction to the work with boards of the fsimx8x architecture. And there is a new document LinuxOnFSBoards_eng.pdf that shows a more in-depth view of a Linux system in general and of the F&S versions of NBoot, U-Boot, Linux and Buildroot/Yocto in particular. This is still work in progress, some chapters are not fully done yet and will be revised in the future. Check our website from time to time to see if there is a newer version of this document.
The following list shows the most noticable changes in this release in more detail since our last pre i.MX8M-Nano release. Please note that the source code is also used for other platforms. This is why you will also find references to other CPU types and F&S boards here in the changelog.
(based on NXP version rel_imx_5.4.70_2.3.2)
Supported boards: efusMX8X
- Add efusMX8X prototype
- Enable DRAM initialization through SCU IOCTL
- Add SDP streaming functionality
- Enable NBoot for efusMX8X
- Enable QuadSPI NAND
- Fix MALLOC_F area in SPL
- Enable ethernet for efusMX8X
- Add delay for USB host storage devices
Supported boards: efusMX8X
- Fix efusMX8X for kernel 5.4.70
- Fix QuadSPI for fsimx8x
- Use default timings for J070WVTC0211
- Fix CMA and ADC nodes for fsimx8x
- Fix Device Tree entries for lvds regulators
- Add Novatek MIPI display for fsimx8x
- Adjust device tree for efusmx8x
- Set legacyfb_depth to 32 for fbdev emulation
- Add PCF85263 to fsimx8x
- Fix device tree for fsimx8x
- Reduce entries in fsimx8x_defconfig
- Increase SPI clock slightly to ensure a clock bigger than 60MHz
- Fix order of i2c devices for efusmx8x
- Use the right pcie driver for efusmx8x
yocto-3.0-fsimx8x-Y2022.08 (09.08.2022 based on Yocto 3.0 Zeus)
Supported architectures: fsimx8x
- Add fsimx8x to meta-fus
- Use terminal vt100 instead of xterm
- Revert to use of loadaddr in install script
- Update to version 1.1 of FSiMX8X_FirstSteps_eng.pdf
- Update to version 0.13 of LinuxOnFSBoards_eng.pdf
Please download the hardware documentation directly from our website.
Then you always have the newest version.