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-20Lets 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.0Build 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-20Attach to the new container
$ docker attach imx8mn-kirkstone-5.15.32-2.0.0Optional. 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 .bashrcConfigure Repo
$ repo init -u https://source.codeaurora.org/external/imx/imx-manifest -b imx-linux-kirkstone -m imx-5.15.32-2.0.0.xmlDownload the basic applications with the Repo tool
$ repo syncConfigure our i.MX Linux build
$ EULA=1 MACHINE=imx8mn-lpddr4-evk DISTRO=fsl-imx-xwayland source imx-setup-release.sh -b bld-imx8mn-lpddr4-xwaylandDownload 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-fullAll 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-evkTO 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.