Skip to content
bschuste edited this page Nov 25, 2020 · 10 revisions

Welcome to the imx8-experiments wiki!

Scope

This wiki describes how to setup a Yocto build environment for a specific imx8 machine and configure it to provide various applications. Experiments have run on an Emcraft 8MMNavQ Starter Kit

Build Environment

Use a Ubuntu 18.04.5 host to install all packages necessary for the build, make sure that at least 180GB of hard disk space is available. In a terminal, run the following command:

sudo apt-get install repo gawk wget git diffstat unzip texinfo gcc-multilib build-essential chrpath socat libsdl1.2-dev xterm sed cvs subversion coreutils texi2html docbook-utils python-pysqlite2 help2man make gcc g++ desktop-file-utils libgl1-mesa-dev libglu1-mesa-dev mercurial autoconf automake groff curl lzop asciidoc u-boot-tools

Make sure to configure git with your name and email address otherwise packages only available through git won't be fetched and the related recipe will fail.

git config --global user.email "<[email protected]"

git config --global user.name "First Last"

The build infrastructure itself requires a large amount of packages and is best installed using the utility repo The git repositories are maintained by NXP. Initiate the installation under a newly created directory using the following instructions.

mkdir imx8-bsp

cd imx8-bsp

repo init -u https://source.codeaurora.org/external/imx/imx-manifest -b imx-linux-zeus -m imx-5.4.3-2.0.0.xml (-b for branch and -m for manifest file)

repo sync

Hovergames Build layers

Alternatively, the installation of all packages for the hovergames 8mmnavq platform can be initiated through:

repo init -u https://source.codeaurora.org/external/imx/imx-manifest -b imx-linux-zeus -m imx-5.4.24-2.1.0_hovergames.xml

repo sync

Create the build folder and setup the shell environment

DISTRO=fsl-imx-xwayland MACHINE=imx8mmnavq source sources/meta-nxp-hovergames/tools/setup-hovergames -b build

Setup the shell environment to use the existing build folder

This is the way to setup the shell once the build folder has been created, so that DISTRO and MACHINE are properly defined.

source setup-environment build

Build Structure

This is the content of imx8-bsp

imx-setup-release.sh

README

README-IMXBSP

setup-environment

sources

Any custom layer will be installed under the directory sources, for example, retrieve the machine specific layer from hover games and install it there:

cd sources

git clone -b zeus https://github.com/SoMLabs/imx-meta-somlabs.git meta-somlabs

Here is the content of the sources folder:

base

meta-browser

meta-freescale

meta-freescale-3rdparty

meta-freescale-distro

meta-imx

meta-openembedded

meta-qt5

meta-rust

meta-somlabs

meta-timesys

poky Holds all the build commands like bitbake