Difference between revisions of "iMX8M Industrial Yocto Image Building"
Line 52: | Line 52: | ||
The script initializes or automatically updates the latest meta layers and afterwards synchronizes the directories. These meta layers include manifest files where all the sources are described. | The script initializes or automatically updates the latest meta layers and afterwards synchronizes the directories. These meta layers include manifest files where all the sources are described. | ||
+ | |||
The second to last command sets up the machine for which the last command ''bitbake'' compiles and builds output bineries. Besides defining '''MACHINE''' wchich specifies the setup for iMX8M Industrial Development Kit, '''DISTRO''' provides several building options concerrning graphical interface: | The second to last command sets up the machine for which the last command ''bitbake'' compiles and builds output bineries. Besides defining '''MACHINE''' wchich specifies the setup for iMX8M Industrial Development Kit, '''DISTRO''' provides several building options concerrning graphical interface: | ||
* '''fsl-imx-wayland''': Wayland weston graphics | * '''fsl-imx-wayland''': Wayland weston graphics |
Revision as of 01:27, 9 December 2023
This Wiki page guides thorugh the process of downloading the Yocto Project source files for release 3.1 (dunfell), preparing and building images for the iMX8M Industrial Development Kit.
Before images can be built, neccesary steps need to be performed to setup the host machine.
All the source files for this customized Yocto Project, together with the recent changes made, can be inspected and downloaded at the Voipac GitHub repository.
Cloning the project
Create a new directory for the project environment:
mkdir ~/voipac-yocto cd ~/voipac-yocto
Clone the iMX8M Industrial Yocto Project into the host machine:
git clone https://github.com/voipac/yocto-imx8m-voipac.git
Building the image
Voipac provides quick and simple-to-use option how to build an image using prepared script:
#!/bin/bash set -e # Copy manifests helper function copy_manifests() { rm -rf .repo mkdir -p .repo/manifests cp scripts/voipac.xml .repo/manifests/ } # Fetch the latest meta layers if ! diff -q .repo/manifests/voipac.xml scripts/voipac.xml >/dev/null 2>&1; then copy_manifests repo init -u "$(pwd)"/.repo/repo -b default -m voipac.xml fi repo sync --optimized-fetch MACHINE=imx8mq-voipac DISTRO=fslc-xwayland source ./setup-environment build-voipac bitbake -f voipac-image
The script initializes or automatically updates the latest meta layers and afterwards synchronizes the directories. These meta layers include manifest files where all the sources are described.
The second to last command sets up the machine for which the last command bitbake compiles and builds output bineries. Besides defining MACHINE wchich specifies the setup for iMX8M Industrial Development Kit, DISTRO provides several building options concerrning graphical interface:
- fsl-imx-wayland: Wayland weston graphics
- fsl-imx-xwayland: Wayland graphics and X11
- fsl-imx-fb: framebuffer graphics (no Wayland or X11)
The script can be run to fetch and build the Yocto images by simply calling the file:
./build_image.sh
Note: Make sure that synchronization finished with no errors showcasing it by the following massage:
repo sync has finished successfully.
Note: The first successful build can take several hours (depending on multiple factors affecting the host machine like CPU, internet bandwidth, alocated disk space, etc.).
Locating output files
After the complyiling process completed, the freshly built oputput files are located in directory:
cd ~/voipac-yocto/yocto-imx8m-voipac/build-voipac/tmp/deploy/images
The files which need to be flashed into the development kit are located in this directory. To make them more accesible, the files can be copied and unpacked:
cp -prv imx-boot ~/ cp -prv voipac-image-imx8mq-voipac-20230512212054.rootfs.wic.gz ~/voipac-image-imx8mq-voipac.wic.gz gzip -d ~/voipac-image-imx8mq-voipac.wic.gz
At this point everything was prepared to flash the binaries. Follow the flashing procedure instructions how to start the development kit with these compiled bianries.