iMX8M Industrial Yocto Prerequisites

From Voipac Wiki
Jump to navigation Jump to search

This Wiki page describes the necessary steps to prepare the host machine for successful compilation of the Yocto BSP release 3.1 (dunfell) for the iMX8M Industrial Development Kit.

If the host setup has been completed, follow Yocto Image Build Wiki page, which summarizes the process of compiling Yocto images and binaries.


All the source files for this customized Yocto Project, together with the recent changes made, can be inspected and downloaded at the Voipac GitHub repository.

Host machine setup

This image build was tested and verified on Ubuntu 18.04 LTS (Bionic Beaver) and Ubuntu 20.04 LTS (Focal Fossa) operating systems.

Follow the standard Ubuntu desktop installation, in case of difficulties head to the Ubuntu installation guide.


Note: It is advisable to install the operating system into the virtual machine as this allows the working environment to be more flexible, adjustable and sharable.

Host packages

After the successful operating system installation, following packages, essential for image building, need to be added to the build machine:

sudo apt-get install gawk wget git-core diffstat unzip texinfo gcc-multilib build-essential chrpath socat cpio python3 python3-pip python3-pexpect xz-utils debianutils iputils-ping python3-git python3-jinja2 libegl1-mesa libsdl1.2-dev pylint3 xterm python3-subunit mesa-common-dev python zstd

Repo tool install

To ease the usage of Git repositories repo tool needs to be installed. This enables manifest files usage and its advantages. The repo tool is built on top of Git to manage multiple Git repositories:

mkdir ~/bin 
curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
chmod a+x ~/bin/repo

Add this new folder to PATH variable:

export PATH="~/bin:$PATH"

Git identity setup

Git uses a username with connected email address to associate commits with an identity. To set up a Git username and email, following commands (with own credentials) should be used:

git config --global user.name "Your Name"
git config --global user.email "Your Email"

At this point the host machine has been successfully setup and ready to start the image building.