Imx-meta-somlabs-desktop
From SomLabs Wiki
imx-meta-somlabs-desktop layer for Yocto Mickledore based Ubuntu PoC release
This tutorial explains how to build the NXP Ubuntu 22.04.2 PoC based on Yocto Mickledore system for the SoMLabs modules. This system uses the following kernel and u-boot repositories:
- kernel (6.1.36): https://github.com/SoMLabs/somlabs-linux-imx/tree/somlabs_imx_6.1.36-2.1.0
- u-boot (2023.04): https://github.com/SoMLabs/somlabs-uboot-imx/tree/somlabs-imx_v2023.04_6.1.36-2.1.0
Introduction
Meta-somlabs-desktop is a layer providing the SoMLabs modules and carrier boards hardware support for NXP Ubuntu PoC system. It has to be used on top of the meta-nxp-desktop:
https://github.com/nxp-imx/meta-nxp-desktop
Host system prerequisites
This tutorial was prepared for the Ubuntu 20.04 host operating system. All of the files required for system image compilation may require up to 120 GB of the disk space.
The following packages need to be installed before the building process:
sudo apt-get install gawk wget git diffstat unzip texinfo gcc build-essential chrpath socat cpio python3 python3-pip python3-pexpect xz-utils debianutils iputils-ping python3-git python3-jinja2 libegl1-mesa libsdl1.2-dev python3-subunit mesa-common-dev zstd liblz4-tool file locales
The source code will be obtained using git, so it needs to be configured by setting the user name and email with correctly set values:
git config --global user.email "you@example.com" git config --global user.name "Your Name"
A new repo tool version is also required. It may be downloaded directly from the project site. The repo binary needs to be available in the system PATH variable and have the execution privilege:
wget https://storage.googleapis.com/git-repo-downloads/repo sudo mv repo /usr/bin/repo sudo chmod a+x /usr/bin/repo
System image
This layer should be used in order to build the Ubuntu PoC system image. It adds support for the SoMLabs modules based on iMX8Mmini and iMX8MPlus processors.
Building the system image
The general description of the building process is described in the meta-nxp-desktop repository README.md file for mickledore 6.1.36-2.1.0- version:
https://github.com/nxp-imx/meta-nxp-desktop/blob/lf-6.1.36-2.1.0-mickledore/README.md
The summary of required steps including the meta-somlabs layer is shown below:
mkdir imx-yocto-ubuntu cd imx-yocto-ubuntu repo init -u https://github.com/SoMLabs/imx-meta-somlabs-desktop -b mickledore -m imx-somlabs-desktop-6.1.36-2.1.0.xml repo sync
System building may be configured for one of the available machine configurations:
- visionsom-8mm-cb-desktop - VisionCB-8M board family with VisionSOM-8Mmini modules
- titansbc-8mmini-desktop - TitanSBC-8Mmini board
- spacesom-8mplus-cb-desktop - SpaceCB-8Mplus board with SpaceSOM-8Mplus module
System building may be started by the following commands:
DISTRO=imx-desktop-xwayland MACHINE=<SELECTED_MACHINE> source imx-somlabs-desktop-setup-release.sh -b <BUILD_DIRECTORY> bitbake imx-image-desktop
The system image is located in the imx-image-desktop-<SELECTED_MACHINE>.wic.zst file in the tmp/deploy/images/<SELECTED_MACHINE> directory. It should be extracted with the command:
unzstd somlabs-image-<SELECTED_MACHINE>.wic.zst
The instruction for the eMMC memory image installation may be found on the wiki page for corresponding module: