This manual is based on offizial NXP i.MX Yocto distribution guide:
IMX_YOCTO_PROJECT_USERS_GUIDE.pdf
It describes to setup of host system to build and develop a custom linux distribution. For configure a custom embedded linux the following example is used as a base:
https://github.com/SolidRun/meta-solidrun-arm-imx8
The linux build toolchain is configured as docker container where all yocto related configurations implemented. It WSL2 shares volumes with container to ensure cache and images are persistent.
https://viewer.diagrams.net/?border=0&tags={}&lightbox=1&highlight=0000ff&edit=https://drive.google.com/file/d/17xACg1WtTfClj_tf8ZG6V1YbBz3pUCV-/view?usp=drive_link&layers=1&nav=1&title=GettingStarted-LinuxBuildToolchain.drawio#Uhttps://drive.google.com/uc?id=17xACg1WtTfClj_tf8ZG6V1YbBz3pUCV-&export=download
Any newbe should read the following article:
https://www.yoctoproject.org/development/technical-overview/
https://docs.yoctoproject.org/ref-manual/structure.html
https://kickstartembedded.com/2021/12/19/yocto-part-1-a-definitive-introduction/
https://elinux.org/Device_Tree_Usage
https://www.youtube.com/watch?v=5E0sdYkvq-Q&t=375s
For simplification a docker image has been created where all the following configuration already made.
<aside> ⚠️
Ensure Docker is installed and running on Linux distribution before you start! For Windows user WSL2 must be enabled!
</aside>
<aside> ⚠️
Yocto Build requires a lot of memory, if you have any troubles with building image, maybe adding additional RAM to .wslconfig will help.
As an example for wslconfig:
[wsl2]
processors=12
memory=28GB
</aside>
Ensure git user is configured in WSL by running the following commands in linux host terminal
wsl:/Qlocky.BSP$ git config --global user.email "<email>"
wsl:/Qlocky.BSP$ git config --global user.name "<name>"