-
Notifications
You must be signed in to change notification settings - Fork 14
Building Yocto for LEC‐IMX8MP
1.1 Recommended Hardware for the host
- Intel Core-i7 Processor (>= 4 cores)
- at least 16GB of Memory
- at least 500GB Disk sapce
- Ubuntu 20.04 LTS 64-bit version for Yocto Project Build
- High-speed network connectivity
1.2 Essential host Packages are required to be installed on your host
$ 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 pylint xterm zstd liblz4-tool curl git python-is-python3
Note: Don't use the root account to build Yocto. it might cause unpredictable errors.
1.3 "Google repo" packages is required to be installed on your host
$ mkdir ~/bin (this step may not be needed if the bin folder already exists)
$ curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
$ chmod a+x ~/bin/repo
$ export PATH=${PATH}:~/bin
$ export LC_ALL="en_US.UTF-8"
1.4 Before start to build the source, please make sure that git is set up properly with the commands below
$ git config --global user.name "Your Name"
$ git config --global user.email "Your Email"
$ git config --list
2.1 Create a working directory. we're creating "imx8mp-yocto-bsp".
$ mkdir imx8mp-yocto-bsp
$ cd imx8mp-yocto-bsp
2.2 Download the required meta-layers.
It's recommended to use the latest branch and manifest file to build the Yocto image. Here you can find the available branches and manifest files.
kirkstone branch
$ repo init -u https://github.com/ADLINK/adlink-manifest -b lec-imx-yocto-kirkstone -m adlink-lec-imx8mp-yocto-kirkstone_1v0.xml
$ repo sync
$ MACHINE=lec-imx8mp DISTRO=fsl-imx-xwayland source adlink-imx-setup-release.sh -b <build_dir>
mickledore branch
$ repo init -u https://github.com/ADLINK/adlink-manifest -b lec-imx-yocto-mickledore -m adlink-lec-imx8mp-yocto-mickledore_1v0.xml
$ repo sync
$ MACHINE=lec-imx8mp DISTRO=fsl-imx-xwayland source adlink-imx-setup-release.sh -b <build_dir>
scarthgap branch
$ repo init -u https://github.com/ADLINK/adlink-manifest -b lec-imx-yocto-scarthgap -m adlink-lec-imx8mX-yocto-scarthgap_1v0.xml
$ repo sync
$ MACHINE=lec-imx8mp DISTRO=fsl-imx-xwayland source adlink-imx-setup-release.sh -b <build_dir>
2.3 Required Setting in conf/local.conf
$ vi <build_dir>/conf/local.conf
# sets the LPDDR4 DRAM size, available options are: LPDDR4_2GB, LPDDR4_2GK, LPDDR4_4GB, LPDDR4_8GB
UBOOT_EXTRA_CONFIGS = "LPDDR4_2GB"
2.4 Build the image
To build without Qt 6 and machine learning, use imx-image-multimedia
$ bitbake imx-image-multimedia
To build with Qt 6 and machine learning, use imx-image-full
$ bitbake imx-image-full
Note: Sometimes the build may fail due to the traffic/server try again after sometime
2.5 Image is generated as imx-image-multimedia-lec-imx8mp.wic
in <build_dir>/tmp/deploy/image/lec-imx8mp/
.
Please refer to here