Hardknott
Yocto Images
Date | Description | Download |
---|---|---|
17.09.2021 | Yocto Hardknott with 5.10.9 kernel, weston and chromium | tr8mini-ipant7-yocto_hardknott_weston_chromium-20210917.imz, |
07.06.2022 | Yocto Hardknott with kernel 5.10.9 for Trizeps8plus, weston, Qt5, several demos by NXP and device trees for several baseboards and displays | |
28.09.2022 | Yocto Hardknott with 5.10.9 kernel, weston and chromium for iPanT7 V2 |
Setting up Hardknott
Getting Hardknott
First you have to fetch Hardknott:
$ mkdir <yocto-root>
$ cd <yocto-root>
$ repo init -u https://source.codeaurora.org/external/imx/imx-manifest -b imx-linux-hardknott -m imx-5.10.35-2.0.0.xml
$ repo sync
Example
$ mkdir imx-linux-hardknott
$ cd imx-linux-hardknott
$ repo init -u https://source.codeaurora.org/external/imx/imx-manifest -b imx-linux-hardknott -m imx-5.10.35-2.0.0.xml
$ repo sync
This will download Hardknott to the directory imx-linux-hardknott
. All recipes and config files will be stored under the subdirectory sources
.
Creating the build-tree
Next you have to create a directory structure for your build:
$ MACHINE=<machine> DISTRO=<distro> ./imx-setup-release.sh -b <build-tree>
Example
This will create a buid-tree for the machine imx8mm-lpddr4-evk
and the distro fsl-imx-xwayland
in the subdirectory build-xwayland
. It will also setup the environment for your build. You can setup the environment any time without creating the whole directory-structure by:
Example
Machines are defined in configuration files named <machine>.conf
inside directories named conf/machine
of some layers. To find out wich machines are supported you can do:
Also distros are defined in subdirectories named conf/distro
of some layers. To find out which distros are available do:
Building an image
To build an image enter the Yocto-directory, setup the environtent and start bitbake
with the basename of the image-recipe to build:
This will build the image imx-image-multimedia
of the distro build-xwayland
for the machine imx8mm-lpddr4-evk
as previously configured.
You can also make bitbake
execute a single task of a recipe:
To find out wich tasks are provided by a recipe do:
Deploying an image
Unlike previous Yocto versions images are not longer written to raw image files, intended to be written to the target device by dd
or something similar, but to container files in wic-format which are bz2 compressed. To create and manipulate these files and write them to a target device, there is a Yocto-provided tool called wic
. The syntax of wic
is:
The most importand command of wic is:
wic
is neither able to read bz2 or otherwise compressed files, nor to read from stdin, so you have to decompress an image file before you can write it to a device using wic
:
Kernel and bootloader
There are currently no Yocto recipes for Hardknott to provide kernel and bootloaders by Seco. The kernel and bootloader in the image are those by NXP. To equip your images with Seco kernel and boodloader refer to Patch Image with Seco Linux Bootloader and Kernel.