Please rely on the newly published project Build NXP iMX Embedded Linux instead of this one you are presently looking at. Although this project is still technically correct, the codeaurora repository no longer exists.
Goals for this project- This project will demonstrate how I built NXP i.MX Embedded Linux version 5.15.32_2.0.0 for the NXP i.MX8M Nano evaluation kit 8MNANOLPD4-EVK using Yocto Project version 4.0 "Kirkstone"
- This project will also demonstrate how I built a Docker image from a Dockerfile so that I could run the entire build process within a Docker container.
- Build machine OS is a Linux distribution that relies on the Debian apt package manager. I am using Ubuntu 20.04 for my build machine.
- Docker is already installed on your build machine.
My Dockerfile can be found in the attached zip archive, but it can also be downloaded with this command
$ wget https://gitlab.com/fweller/flint-configuration/-/raw/master/tools/dockerfiles/yocto-kirkstone-ubuntu-20
Lets get startedCreate my project directory. Your directory structure will look different than mine.
$ mkdir -v /work/imx8mn/kirkstone/imx-5.15.32-2.0.0 && cd /work/imx8mn/kirkstone/imx-5.15.32-2.0.0
Build the Ubuntu 20.04 LTS "Focal Fossil" Docker image for Yocto Kirkstone
- Note: Don't forget the dot "." at the end of the command.
- Note: Don't forget to change the dockerfile location to where you installed it.
$ docker build --no-cache --file /home/flint/tools/dockerfiles/yocto-kirkstone-ubuntu-20 --tag yocto-kirkstone-ubuntu-20 .
Deploy our Docker image to a container while mounting the working directory
$ docker run -dit -P --hostname kirkstone --name imx8mn-kirkstone-5.15.32-2.0.0 -v /work/imx8mn/kirkstone/imx-5.15.32-2.0.0:/home/build yocto-kirkstone-ubuntu-20
Attach to the new container
$ docker attach imx8mn-kirkstone-5.15.32-2.0.0
Optional. Install my dotfiles. They can be found in the attached zip archive or using the following method
$ curl https://gitlab.com/fweller/flint-configuration/-/raw/master/tools/dockerfiles/dotfiles/dockerfile-install-dotfiles.sh | bash && source .bashrc
Configure Repo
$ repo init -u https://source.codeaurora.org/external/imx/imx-manifest -b imx-linux-kirkstone -m imx-5.15.32-2.0.0.xml
Download the basic applications with the Repo tool
$ repo sync
Configure our i.MX Linux build
$ EULA=1 MACHINE=imx8mn-lpddr4-evk DISTRO=fsl-imx-xwayland source imx-setup-release.sh -b bld-imx8mn-lpddr4-xwayland
Download all files first, then build the small image as a test, then build the large one.
$ bitbake imx-image-core --runall fetch
$ bitbake -k imx-image-core
$ bitbake imx-image-full --runall fetch
$ bitbake -k imx-image-full
All the binary files have been built and are ready to be deployed to the 8M Nano EVK. Mine are located here
/work/imx8mn/kirkstone/imx-5.15.32-2.0.0/bld-imx8mn-lpddr4-xwayland/tmp/deploy/images/imx8mn-lpddr4-evk
TO RETURN TO THIS PROJECT LATER:
$ docker restart imx8mn-kirkstone-5.15.32-2.0.0
$ docker attach imx8mn-kirkstone-5.15.32-2.0.0
$ source setup-environment bld-imx8mnevk-xwayland
Comments
Please log in or sign up to comment.