README.md: Update [YOCIMX-9264]

- Use markdown language
- Improve basic information
- Remove extraneous information best found elsewhere

Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
(cherry picked from commit c543a0bf22)
This commit is contained in:
Tom Hochstein 2025-09-17 07:41:54 -05:00
parent 8a9ff16faf
commit 99fb67419b
2 changed files with 114 additions and 216 deletions

216
README
View File

@ -1,216 +0,0 @@
i.MX Linux Yocto Project BSP 6.12.34_2.1.0 Release
=====================================================
Note this is release is not a production release.
Please see the release notes for the quality statement for each board.
The following boards were tested in this release.
* NXP i.MX 95 EVK & FRDM (imx95-19x19-lpddr5-evk/imx95-15x15-lpddr4x-evk/imx95-19x19-verdin/imx95-15x15-lpddr4x-frdm)
* NXP i.MX 943 EVK (imx943-19x19-lpddr5-evk/imx943-15x15-lpddr4-evk/imx943-19x19-lpddr4-evk)
* NXP i.MX 93 EVK & FRDM (imx93-11x11-lpddr4x-evk/imx93-14x14-lpddr4x-evk/imx93-9x9-lpddr4-qsb/imx93-11x11-lpddr4x-frdm)
* NXP i.MX 91 EVK & FRDM (imx91-11x11-lpddr4-evk/imx91-9x9-lpddr4-qsb/imx91-11x11-lpddr4-frdm/imx91-11x11-lpddr4-frdm-imx91s)
* NXP i.MX 8MQuad EVK (imx8mq-lpddr4-wevk/imx8mq-evk)
* NXP i.MX 8MMini EVK (imx8mm-lpddr4-evk/imx8mm-ddr4-evk)
* NXP i.MX 8MNano EVK (imx8mn-lpddr4-evk/imx8mn-ddr4-evk)
* NXP i.MX 8MPlus EVK & FRDM (imx8mp-lpddr4-evk/imx8mp-ddr4-evk/imx8mp-lpddr4-frdm)
* NXP i.MX 8QuadMax MEK (imx8qmmek)
* NXP i.MX 8QuadXPlus MEK (imx8qxpc0mek)
* NXP i.MX 8DXL EVK (imx8dxlb0-lpddr4-evk/imx8dxlb0-ddr3l-evk)
* NXP i.MX 8ULP EVK (imx8ulp-lpddr4-evk/imx8ulp-9x9-lpddr4x-evk)
* NXP i.MX 7ULP EVK (imx7ulpevk)
* NXP i.MX 7Dual SABRE Smart Device (imx7dsabresd)
* NXP i.MX 6QuadPlus SABRE Device (imx6qpsabresd)
* NXP i.MX 6Quad SABRE Smart Device (imx6qsabresd)
* NXP i.MX 6DualLite SABRE Smart Device (imx6dlsabresd)
* NXP i.MX 6SOLO SABRE Smart Device (imx6solosabresd )
* NXP i.MX 6SoloX SABRE Smart Device (imx6sxsabresd)
* NXP i.MX 6UltraLite EVK (imx6ulevk)
* NXP i.MX 6ULL EVK (imx6ull14x14evk)
* NXP i.MX 6ULZ EVK (imx6ulz14x14evk)
Install the `repo` utility
--------------------------
See the i.MX Yocto Project User's Guide for instructions on installing repo.
Install essential host packages
------------------------------
Your Build Host must install required packages for the Yocto build.
Reference to the section *Build Host Packages* in the document ***Yocto Project Quick build***.
- https://docs.yoctoproject.org/brief-yoctoprojectqs/index.html#build-host-packages
Download the Yocto Project BSP
------------------------------
First install the i.MX Linux BSP repo
```
$: repo init -u https://github.com/nxp-imx/imx-manifest.git -b imx-linux-walnascar -m imx-6.12.34-2.1.0.xml
```
Download the Yocto Project Layers:
```
$: repo sync
```
If errors on repo init, remove the .repo directory and try repo init again.
Run i.MX Linux Yocto Project Setup:
```
$: [MACHINE=<machine>] [DISTRO=fsl-imx-<backend>] source ./imx-setup-release.sh -b <build folder>
where
<machine> defaults to imx6qsabresd
<build folder> specifies the build folder name
```
After this your system will be configured to start a Yocto Project build.
Build images
---------------------
Each graphical backend X11, Frame buffer and Wayland must be in a separate build
directory, so the setup script above must be run for each backend to configure the build
correctly. In this release two image recipes are provided that work on almost all backends.
DISTROs are new and the way to configure for any backends. Use DISTRO= instead of the -e on the setup script.
The -e parameter gets converted to the appropriate distro configuration.
Note:
DirectFB is no longer supported in i.MX graphic builds.
The X11 and Framebuffer distros are only supported for i.MX 6 and i.MX 7. i.MX 8 and i.MX 9 should use xwayland only.
XWayland is the default distro for all i.MX families.
Image Name | Description
---------------------|---------------------------------------------------
imx-image-multimedia | image with multimedia and graphics
imx-image-full | image with multimedia and machine learning and Qt
Here are some examples:
(The example uses the imx6qsabresd MACHINE but substitute this with whatever you are using)
Building Frame Buffer (FB)
---------------------------
```
$: DISTRO=fsl-imx-fb MACHINE=imx6qsabresd source imx-setup-release.sh -b build-fb
$: bitbake <image>
```
To run the QT6 examples use the following parameters:
```
$: <QT6 Example> -platform eglfs -plugin evdevtouch:/dev/input/event0
```
Building XWayland
---------------------------
```
$: DISTRO=fsl-imx-xwayland MACHINE=imx6qsabresd source imx-setup-release.sh -b build-xwayland
$: bitbake <image>
```
To run the QT6 examples use the following parameters:
```
$: <QT6 example> platform wayland-egl -plugin evdevtouch:/dev/input/event0 --fullscreen
```
Building Wayland-Weston (wayland)
---------------------------
```
$: DISTRO=fsl-imx-wayland MACHINE=imx6qsabresd source imx-setup-release.sh -b build-wayland
$: bitbake <image>
```
To run the QT6 examples use the following parameters:
```
$: <QT6 example> platform wayland-egl -plugin evdevtouch:/dev/input/event0 --fullscreen
```
Hardware Floating Point
-----------------------
This release enables hardware floating point by default. This feature is enabled in both the machine
configurations and in the layer.conf. (Some machine files exist in the community meta-freescale without this setting.)
```
DEFAULTTUNE:mx6-nxp-bsp = "cortexa9hf-neon"
```
Software floating point is not supported starting with the 4.1.15_1.0.0_ga release
Restricted Codecs
-----------------
These codecs have contractual restrictions that require separate distribution.
The Manufacturing Tool - MFGTool
--------------------------------
In this release MFGTool uses the community setup.
To build MFGTool, build the following:
```
$: bitbake fsl-image-mfgtool-initramfs
```
End User License Agreement
--------------------------
During the NXP Yocto Project Community BSP setup-environment process, the NXP i.MX End User License Agreement (EULA)
is displayed. To continue, users must agree to the conditions of this license. The agreement to the terms allows the
Yocto build to untar packages from the NXP mirror. Please read this license agreement carefully during the
setup process because, once accepted, all further work in the Yocto environment is tied to this accepted agreement.
Chromium for 64-bit
-------------------
Add Chromium to a Wayland-based image:
- add the recipe to the image, e.g., by adding to local.conf:
```
IMAGE_INSTALL:append = " chromium-ozone-wayland"
```
- add the meta-chromium layer:
```
$: bitbake-layers add-layer ../sources/meta-browser/meta-chromium
```
Chromium for 32-bit
-------------------
Chromium is no longer supported for 32-bit. The problem is Chromium no longer supports fbdev, which is required by
the Vivante GPU drivers.
QtWebEngine
-----------
QtWebEngine is not built by default, so add this to local.conf or image recipe. It is supported only on the machines
that have GPU.
```
IMAGE_INSTALL:append = " packagegroup-qt6-webengine"
```
There are many browsers available using QtWebEngine and can be found here:
```
/usr/share/examples/webengine
/usr/share/examples/webenginewidgets
```
Qt
--
Note that Qt has both a commercial and open source license options. Make the decision about which license
to use before starting work on custom Qt applications. Once custom Qt applications are started with an open source
Qt license the work cannot be used with a commercial Qt license. Work with a legal representative to understand
the differences between each license.
Note Qt is not supported on i.MX 6UltraLite and i.MX 7Dual. It works on X11 backend only but is not a supported feature.
Qt with kms
--
Some customers wants to use QT without wayland/weston and the alternative for that is to use through kms plugin.
This configuration is supported only on mx8 machines.
By default, wayland plugin is enabled.We can switch to kms plugin by following these steps.
- killall weston
- export QT_QPA_EGLFS_ALWAYS_SET_MODE=1
- Run any qt application using -platform eglfs
Example:
```
$: ./Qt6_CinematicExperience -platform eglfs
```
Systemd
-------
Systemd support is enabled as default but it can be disabled by commenting out the systemd settings in
meta-imx-sdk/conf/distro/include/fsl-imx-base.inc.

114
README.md Normal file
View File

@ -0,0 +1,114 @@
# Yocto Project BSP for NXP i.MX Linux
The repository https://github.com/nxp-imx/meta-imx contains multiple Yocto Project layers supporting
Linux development for the NXP i.MX Series 6 through 9.
| Layer | Purpose |
|------------------|-----------------------|
| meta-imx-bsp | BSP |
| meta-imx-cockpit | eCockpit |
| meta-imx-ml | Machine Learning |
| meta-imx-sdk | Distro |
| meta-imx-v2x | Vehicle-to-Everything |
The following development boards were tested in this release.
| Product/Family | Board | Machine Configuration Files |
|-----------------|--------|---------------------------------------------------------------------------|
| i.MX 6ULZ | EVK | imx6ulz14x14evk |
| i.MX 6ULL | EVK | imx6ull14x14evk |
| i.MX 6UltraLite | EVK | imx6ulevk |
| i.MX 6SoloX | SABRE | imx6sxsabresd |
| i.MX 6Solo | SABRE | imx6solosabresd |
| i.MX 6DualLite | SABRE | imx6dlsabresd |
| i.MX 6Quad | SABRE | imx6qsabresd |
| i.MX 6QuadPlus | SABRE | imx6qpsabresd |
| i.MX 7ULP | EVK | imx7ulpevk |
| i.MX 7Dual | SABRE | imx7dsabresd |
| i.MX 8 | MEK | imx8qmmek |
| i.MX 8M | EVK | imx8mq-lpddr4-wevk, imx8mq-evk |
| i.MX 8M Mini | EVK | imx8mm-lpddr4-evk, imx8mm-ddr4-evk |
| i.MX 8M Nano | EVK | imx8mn-lpddr4-evk, imx8mn-ddr4-evk |
| i.MX 8M Plus | EVK | imx8mp-lpddr4-evk, imx8mp-ddr4-evk |
| | FRDM | imx8mp-lpddr4-frdm |
| i.MX 8X | MEK | imx8qxpc0mek |
| i.MX 8XLite | EVK | imx8dxlb0-lpddr4-evk, imx8dxlb0-ddr3l-evk |
| i.MX 8ULP | EVK | imx8ulp-lpddr4-evk, imx8ulp-9x9-lpddr4x-evk |
| i.MX 91 | EVK | imx91-11x11-lpddr4-evk, imx91-9x9-lpddr4-qsb |
| | FRDM | imx91-11x11-lpddr4-frdm, imx91-11x11-lpddr4-frdm-imx91s |
| i.MX 93 | EVK | imx93-11x11-lpddr4x-evk, imx93-14x14-lpddr4x-evk, imx93-9x9-lpddr4-qsb |
| | FRDM | imx93-11x11-lpddr4x-frdm |
| i.MX 94 | EVK | imx943-19x19-lpddr5-evk, imx943-15x15-lpddr4-evk, imx943-19x19-lpddr4-evk |
| i.MX 95 | EVK | imx95-19x19-lpddr5-evk, imx95-15x15-lpddr4x-evk |
| | FRDM | imx95-15x15-lpddr4x-frdm |
| | Verdin | imx95-19x19-verdin |
## Quick Start Guide
The following instructions show how to download and build the current release.
### Install the repo utility
Follow the instructions here: https://gerrit.googlesource.com/git-repo/+/HEAD/README.md
### Install essential host packages
Follow the instructions here: https://docs.yoctoproject.org/5.2.2/singleindex.html#build-host-packages
### Download the Yocto Project layers
Use the i.MX Linux BSP manifest repository to create the Yocto Project layers.
```
$: repo init -u https://github.com/nxp-imx/imx-manifest.git -b imx-linux-walnascar -m imx-6.12.34-2.1.0.xml
$: repo sync
```
### Setup a Yocto Project build folder
To setup a new build folder called `build`, run i.MX Linux Yocto Project Setup:
```
$: [MACHINE=<machine>] [DISTRO=<distro>] source ./imx-setup-release.sh -b build
where
<distro> defaults to fsl-imx-xwayland
<machine> defaults to imx6qsabresd
```
#### End User License Agreement
The NXP i.MX End User License Agreement (EULA) is displayed during the setup process.
Please read it carefully. The license must be accepted to allow access to the NXP
EULA-licensed recipes.
#### Distro Configuration
Depending on the i.MX Series, the BSP supports different graphics backends and different
distros to highlight those.
| Series | Distro Name | Description |
|------------------|------------------|------------------------------------------------------------------------------|
| 6 and 7 | fsl-imx-fb | Framebuffer backend |
| 6-9 | fsl-imx-wayland | Weston desktop on Wayland backend, includes framebuffer support |
| 6-9 | fsl-imx-xwayland | Weston desktop on Wayland backend, includes framebuffer and XWayland support |
#### Setup for an existing build folder
In order to configure a Linux shell for building in an existing build folder:
```
$: cd <build folder>/..
$: source ./setup-environment <build folder>
```
### Build an image
Three different images are provided in the distribution layer.
| Image Name | Description |
|----------------------|---------------------------------------------------|
| imx-image-core | base image with Weston desktop |
| imx-image-multimedia | imx-image-core plus multimedia |
| imx-image-full | imx-image-multimedia plus Qt and machine learning |
Here's an example:
```
$: bitbake imx-image-full
```