Building TX6/TXUL Series

Note

Be aware that this part of the documentation describes a legacy and deprecated solution.

For the current solution please go here Mainline Yocto BSP Guide.

We provide a script, karo-nxp-release.sh, that simplifies the setup for our machines. To use the script, the name of the specific machine to be built for needs to be specified as well as the desired graphical backend. The script sets up a directory and the configuration files for the specified machine and backend. 1 It also adds our layer to the bblayers.conf file.

There are different configurations you can choose from.

  • DISTRO configurations:

DISTRO=

Description

fsl-imx-x11

X11 graphics are not supported on i.MX 8

fsl-imx-wayland

Wayland weston graphics

fsl-imx-xwayland

Wayland graphics and X11. X11 applications using EGL are not supported

fsl-imx-fb

Frame Buffer graphics - no X11 or Wayland. Frame Buffer is not supported on i.MX 8

  • A list of supported MACHINE configurations:

MACHINE=

tx6q-1030

tx6q-1130

tx6q-1036

tx6q-8037

tx6q-8137

tx6u-8030

tx6u-8130

tx6u-8033

tx6u-8133

tx6s-8034

tx6s-8134

tx6s-8035

tx6s-8135

txul-5010

txul-5011

txul-8013

Use this command to setup your build directory (specify the machine, and the build directory):

MACHINE=<machine> source karo-nxp-release.sh -b <build-dir>

When the script has run, your current directory should have changed to the <build-dir> you chose before.

Example:

MACHINE=txul-5011 source karo-nxp-release.sh -b build-txul-5011

U-Boot Hint

Warning

The actual i.MX U-Boot is not working with TX6/TXUL series! You can use a precompiled one from our MFG-Tools or use the one from the Rocko Guide.

Building the image

Note

Before starting a build, you should consider enabling the SSTATE CACHE to speedup the build process.

See Enable sstate cache 1.

Here are the different images you can build:

Here are the different images you can build:

Image

Description

Provided by layer

imx-boot

U-Boot flashable binary, variant specified with above mentioned UBOOT_CONFIG

linux-imx

Linux Kernel and specified .dtb files only

core-image-minimal

See https://layers.openembedded.org/layerindex/recipe/579/

Poky

core-image-base

See https://layers.openembedded.org/layerindex/recipe/584/

Poky

core-image-sato

See https://layers.openembedded.org/layerindex/recipe/658/

Poky

fsl-image-machine-test

An FSL Community i.MX core image with console environment - no GUI interface.

meta-freescale-distro

fsl-image-validation-imx

Builds an i.MX image with a GUI without any Qt content.

meta-fsl-bsp-release/imx/meta-sdk

fsl-image-qt5-validation-imx

Builds an opensource Qt 5 image. These images are only supported for i.MX SoC with hardware graphics. They are not supported on the i.MX 6UltraLite, i.MX 6UltraLiteLite, and i.MX 7Dual.

meta-fsl-bsp-release/imx/meta-sdk

fsl-image-qt5

Fsl-image-gui with QT.

meta-toolchain-qt5

QT 5 Toolchain SDK.

fsl-image-multimedia

fsl-image-multimedia-full

fsl-image-gui

Full image with demos and tests, used for testing with graphics, no QT

Build the kernel image with the following command inside your <build-dir>.

bitbake linux-imx

Note

-I Ignores dependencies. For a full image it is important here to NOT build U-Boot, because this would break the build.

What you have to do is, build the image normally until it breaks in u-boot-imx recipie, and then build it without u-boot:

bitbake core-image-minimal
bitbake -I u-boot -I u-boot-imx core-image-minimal

Restarting a build environment 1

If a new terminal window is opened or the machine is rebooted after a build directory is set up, the setup environment script should be used to set up the environment variables and run a build again. The full karo-nxp-release.sh is not needed.

You can simply run:

source setup-environment <build-dir>

Image Deployment

After a build is complete, the created image resides in the tmp/deploy/images sub-directory. An image is, for the most part, specific to the machine set in the environment setup. Each image build creates a kernel, and an image type based on the IMAGE_FSTYPES defined in the machine configuration file.

The following files are created for Ka-Ro TX6/TXUL modules when running core-image-minimal:

Filename

Content

uImage-<version>-<machine>

Kernel uImage

modules-<machine>.tgz

Kernel modules

<image>-<machine>.tar.bz2

RFS

*.dtb

Devicetree blob

To continue with these images use MFG-Tools or TFTP boot. UUU is actually not supported for TX6/TXUL!

1(1,2)

Copied from the official NXP Yocto Project User’s Guide, mentioned above.