mirror of
https://github.com/nxp-imx/meta-imx.git
synced 2025-07-19 18:39:09 +02:00

Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
(cherry picked from commit ab039305fa
)
191 lines
7.7 KiB
Plaintext
191 lines
7.7 KiB
Plaintext
i.MX Linux Yocto Project BSP 6.1.1_1.0.0 Release
|
|
=====================================================
|
|
|
|
Note this is release is not a production release.
|
|
Please see the release notes for the quality statement for each baord.
|
|
|
|
The following boards were tested in this release.
|
|
|
|
* NXP i.MX 93 EVK (imx93evk)
|
|
* NXP i.MX 8MQuad EVK (imx8mqevk)
|
|
* NXP i.MX 8MMini EVK (imx8mmevk)
|
|
* NXP i.MX 8MNano EVK (imx8mnevk)
|
|
* NXP i.MX 8MPlus EVK (imx8mpevk)
|
|
* NXP i.MX 8QuadMax MEK (imx8qmmek)
|
|
* NXP i.MX 8QuadXPlus MEK (imx8qxpc0mek)
|
|
* NXP i.MX 8DXL EVK (imx8dxlevk)
|
|
* NXP i.MX 8ULP EVK (imx8ulpevk)
|
|
* 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)
|
|
|
|
Quick Start Guide
|
|
-----------------
|
|
See the i.MX Yocto Project User's Guide for instructions on installing repo.
|
|
|
|
First install the i.MX Linux BSP repo
|
|
$: repo init -u git://github.com/nxp-imx/imx-manifest.git -b imx-linux-langdale -m imx-6.1.1-1.0.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 should use xwayland only.
|
|
XWayland is the default distro for all i.MX families.
|
|
|
|
imx-image-multimedia: This image contains all the packages except QT6/OpenCV/Machine Learning packages.
|
|
imx-image-full: This is the big image which includes imx-image-multimedia + OpenCV + QT6 + Machine Learning packages.
|
|
|
|
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
|
|
|
|
Building with Multilib support
|
|
---------------------------
|
|
Yocto Project is able to build libraries for different target optimizations, combing those in one system image,
|
|
allowing the user to run both 32-bit and 64-bit applications.
|
|
Here is an example to add multilib support (lib32).
|
|
|
|
In local.conf
|
|
- Define multilib targets
|
|
require conf/multilib.conf
|
|
MULTILIBS = "multilib:lib32"
|
|
DEFAULTTUNE:virtclass-multilib-lib32 = "armv7athf-neon"
|
|
|
|
- 32-bit libraries to be added into the image
|
|
IMAGE_INSTALL:append = " lib32-glibc lib32-libgcc lib32-libstdc++"
|
|
|
|
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-fsl-arm 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
|
|
--------
|
|
Add Chromium to your Wayland or X11-based image by adding the following lines to local.conf:
|
|
|
|
IMAGE_INSTALL:append = \
|
|
"${@bb.utils.contains('DISTRO_FEATURES', 'wayland', ' chromium-ozone-wayland', \
|
|
bb.utils.contains('DISTRO_FEATURES', 'x11', ' chromium-x11', \
|
|
'', d), d)}"
|
|
|
|
Build server host requirements for chromium 74 version:
|
|
|
|
- Host gcc version should be gcc 7. Ubuntu 18.04 has a default gcc 7 version.
|
|
- Increase ulimit (number of open file descriptors) to 4098
|
|
|
|
Chromium will have compilation errors, if any of the above host requirements are not met.
|
|
|
|
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"
|
|
|
|
QtWebEngine is not compatible with the meta-chromium layer used by the release. If you are using the NXP build setup,
|
|
please be sure to remove meta-chromium from bblayers.conf:
|
|
|
|
# Commented out due to incompatibility with qtwebengine
|
|
#BBLAYERS += "${BSPDIR}/sources/meta-browser/meta-chromium"
|
|
|
|
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-sdk/conf/distro/include/fsl-imx-preferred-env.inc.
|