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 :ref:`mainline-yocto-guide-index`\ . 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): .. code-block:: shell MACHINE= source karo-nxp-release.sh -b When the script has run, your current directory should have changed to the ```` you chose before. **Example:** .. code-block:: shell MACHINE=txul-5011 source karo-nxp-release.sh -b build-txul-5011 U-Boot Hint ------------ .. warning:: The current i.MX U-Boot is not working with **TX6/TXUL** series! You can use a precompiled one from our MFGTools 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 :ref:`yocto-sumo-sstate`. 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. | meta-fsl-bsp-release/imx/meta-sdk | | | They are not supported on the i.MX 6UltraLite, i.MX 6UltraLiteLite, and i.MX 7Dual. | | +----------------------------------+-------------------------------------------------------------------------------------------------------+-----------------------------------+ | 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 ````. .. code-block:: shell 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: .. code-block:: shell 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: .. code-block:: shell source setup-environment 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-- | Kernel uImage | +----------------------------------+--------------------+ | modules-.tgz | Kernel modules | +----------------------------------+--------------------+ | -.tar.bz2 | RFS | +----------------------------------+--------------------+ | \*.dtb | Devicetree blob | +----------------------------------+--------------------+ To continue with these images use MFGTool or TFTP boot. **UUU is actually not supported for TX6/TXUL!** .. [1] Copied from the official `NXP Yocto Project User's Guide `_, mentioned above.