NXP -LOGO

Projekt NXP UG10164 i.MX Yocto

NXP-UG10164-iMX-Yocto-Project-PRODUCT

Informace o dokumentu

Informace Obsah
Klíčová slova i.MX, Linux, LF6.12.20_2.0.0
Abstraktní Tento dokument popisuje, jak vytvořit obraz pro desku i.MX pomocí prostředí sestavování projektu Yocto. Popisuje uvolňovací vrstvu i.MX a specifické použití i.MX.

Nadview

  • Tento dokument popisuje, jak vytvořit obraz pro desku i.MX pomocí prostředí sestavování projektu Yocto. Popisuje uvolňovací vrstvu i.MX a specifické použití i.MX.
  • Yocto Project je open-source spolupráce zaměřená na vývoj embedded Linux OS. Další informace o projektu Yocto najdete na stránce projektu Yocto: www.yoctoproject.org/  There are several documents on the Yocto Project home page that describe in detail how to use the system. To use the basic Yocto.
  • Project without the i.MX release layer, follow the instructions in the Yocto Project Quick Start found at https://docs.yoctoproject.org/brief-yoctoprojectqs/index.html
  • The FSL Yocto Project Community BSP (found at freescale.github.io) is a development community outside NXP providing support for i.MX boards in the Yocto Project environment. i.MX joined the Yocto Project community, providing a release based on the Yocto Project framework. Information specific to FSL community BSP use is available on the community web strana. Tento dokument je rozšířením dokumentace BSP komunity.
  • Files používané k vytvoření obrazu jsou uloženy ve vrstvách. Vrstvy obsahují různé typy přizpůsobení a pocházejí z různých zdrojů. Některé z files ve vrstvě se nazývají receptury. Recepty projektu Yocto obsahují mechanismus pro načtení zdrojového kódu, sestavení a zabalení komponenty. Následující seznamy ukazují vrstvy použité v této verzi.

uvolňovací vrstva i.MX

  • meta-imx
    • meta-imx-bsp: updates for meta-freescale, poky, and meta-openembedded layers
    • meta-imx-sdk: updates for meta-freescale-distros
    • meta-imx-ml: Machine learning recipes
    • meta-imx-v2x: V2X recipes only used for i.MX 8DXL
    • meta-imx-cockpit: Cockpit recipes for i.MX 8QuadMax

Vrstvy komunity Yocto Project

  • meta-freescale: Poskytuje podporu pro základnu a referenční desky i.MX Arm.
  • meta-freescale-3rdparty: Poskytuje podporu pro desky třetích stran a partnery.
  • meta-freescale-distro: Další položky, které pomáhají při rozvoji a cvičebních deskách.
  • fsl-community-bsp-base: Často se přejmenovává na base. Poskytuje základní konfiguraci pro FSL Community BSP.
  • meta-openembedded: Collection of layers for the OE-core universe. See layers.openembedded.org/.
  • poky: Základní položky projektu Yocto v Poky. Podrobnosti najdete v Poky README.
  • meta-browser: Poskytuje několik prohlížečů.
  • meta-qt6: Poskytuje Qt 6.
  • meta-timesys: Poskytuje nástroje Vigiles pro monitorování a oznamování zranitelností BSP (CVE).

Odkazy na vrstvy komunity v tomto dokumentu platí pro všechny vrstvy v projektu Yocto kromě meta-imx. Desky i.MX jsou konfigurovány ve vrstvách meta-imx a meta-freescale. To zahrnuje U-Boot, linuxové jádro a podrobnosti specifické pro referenční desku.
i.MX provides an additional layer called the i. MX BSP Release, named meta-imx, to integrate a new i.MX release with the FSL Yocto Project Community BSP. The meta-imx layer aims to release the updated and new Yocto Project recipes and machine configurations for new releases that are not yet available on the existing meta-freescale and meta-freescale-distro layers in the Yocto Project. The contents of the i.MX BSP Release layer are recipes and machine configurations. In many test cases, other layers implement recipes or include fileVrstva vydání i.MX poskytuje aktualizace receptur buď připojením k aktuálnímu receptu, nebo zahrnutím komponenty a aktualizací pomocí záplat nebo zdrojových umístění. Většina receptů na vrstvu vydání i.MX je velmi malá, protože používají to, co poskytla komunita, a aktualizují to, co je potřeba pro každou novou verzi balíčku, která není k dispozici v ostatních vrstvách.

  • Vrstva i.MX BSP Release také poskytuje obrazové receptury, které zahrnují všechny komponenty potřebné pro zavedení bitové kopie systému, což usnadňuje uživateli. Komponenty mohou být sestaveny jednotlivě nebo prostřednictvím obrazového receptu, který stáhne všechny komponenty požadované v obrazu do jednoho procesu sestavování.
  • Verze jádra i.MX a U-Bootu jsou přístupné prostřednictvím veřejných repozitářů i.MX na GitHubu. Některé komponenty jsou však vydávány jako balíčky na zrcadle i.MX. Recepty založené na balíčcích se stahují. files z zrcadla i.MX místo z umístění Git a vygenerujte potřebný balíček.
  • Všechny balíčky, které jsou vydány jako binární, jsou sestaveny s povolenou hardwarovou pohyblivou řádovou čárkou, jak je uvedeno v DEFAULTTUNE definovaném v každé konfiguraci počítače. file. Softwarové balíčky s pohyblivou řádovou čárkou nejsou poskytovány počínaje verzemi jethro.
  • Pro Yocto Project 6.12.20 (Walnascar) byla vydána verze LF2.0.0_5.2. Stejné recepty pro Yocto Project 5.2 budou zveřejněny v další verzi projektu Yocto. Cyklus vydávání Yocto Project trvá zhruba šest měsíců.
  • Recepty a záplaty v meta-imx budou odeslány do komunitních vrstev. Poté, co je to hotové pro konkrétní komponentu, files v meta-imx již nejsou potřeba a podporu poskytne FSL Yocto Project Community BSP. Komunita podporuje referenční desky i.MX, komunitní desky a desky třetích stran.

End user licence agreement
Během procesu nastavení prostředí NXP Yocto Project BSP se zobrazí Licenční smlouva s koncovým uživatelem NXP (EULA). Aby uživatelé mohli nadále používat i.MX Proprietary software, musí souhlasit s podmínkami této licence. Souhlas s podmínkami umožňuje sestavení projektu Yocto rozbalit balíčky ze zrcadla i.MX.

Poznámka:
Během procesu nastavení si pozorně přečtěte tuto licenční smlouvu, protože po jejím přijetí je veškerá další práce v prostředí i.MX Yocto Project vázána na tuto přijatou smlouvu.

Reference
i.MX has multiple families supported in software. The following are the listed families and SoCs per family. The i.MX Linux Release Notes describe which SoC is supported in the current release. Some previously released SoCs might be buildable in the current release but not validated if they are at the previous validated level.

  • Řada i.MX 6: 6QuadPlus, 6Quad, 6DualLite, 6SoloX, 6SLL, 6UltraLite, 6ULL, 6ULZ
  • Řada i.MX 7: 7Dual, 7ULP
  • Řada i.MX 8: 8QuadMax, 8QuadPlus, 8ULP
  • Řada i.MX 8M: 8M Plus, 8M Quad, 8M Mini, 8M Nano
  • i.MX 8X Family: 8QuadXPlus, 8DXL, 8DXL OrangeBox, 8DualX
  • i.MX 9 Family: i.MX 91, i.MX 93, i.MX 95, i.MX 943

Tato verze obsahuje následující odkazy a další informace.

  • i.MX Linux Release Notes (RN00210) – Provides the release information.
  • i.MX Linux User’s Guide (UG10163) – Provides information on installing U-Boot and Linux OS and using
    i. MX-specific features.
  • i.MX Yocto Project User’s Guide (UG10164) – Describes the board support package for NXP development systems using Yocto Project to set up host, install tool chain, and build source code to create images.
  • i.MX Porting Guide (UG10165) – Provides the instructions on porting the BSP to a new board.
  • i.MX Machine Learning User’s Guide (UG10166) – Provides the machine learning information.
  • i.MX DSP User’s Guide (UG10167) – Provides information on the DSP for i.MX 8.
  • i.MX 8M Plus Camera and Display Guide (UG10168) – Provides the information on the ISP Independent Sensor Interface API for the i.MX 8M Plus.
  • i.MX Digital Cockpit Hardware Partitioning Enablement for i.MX 8QuadMax (UG10169) – Provides the i.MX Digital Cockpit hardware solution for i.MX 8QuadMax.
  • i.MX Graphics User’s Guide (UG10159) – Describes the graphics features.
  • Harpoon User’s Guide (UG10170) – Presents the Harpoon release for i.MX 8M device family.
  • i.MX Linux Reference Manual (RM00293) – Provides information on Linux drivers for i.MX.
  • i.MX VPU Application Programming Interface Linux Reference Manual (RM00294) – Provides the reference information on the VPU API on i.MX 6 VPU.
  • EdgeLock Enclave Hardware Security Module API (RM00284) – Tento dokument je softwarový referenční popis API poskytovaného řešeními i.MX 8ULP, i.MX 93 a i.MX 95 Hardware Security Module (HSM) pro EdgeLock Enclave ( ELE) Platforma.

Stručný návod obsahuje základní informace o desce a jejím nastavení. Jsou na NXP webmísto.

  • Rychlý průvodce pro platformu SABER (IMX6QSDPQSG)
  • Průvodce rychlým startem i.MX 6UltraLite EVK (IMX6ULTRALITEQSG)
  • i.MX 6ULL ​​EVK Průvodce rychlým startem (IMX6ULLQSG)
  • i.MX 7Dual SABRE-SD Průvodce rychlým startem (SABRESDBIMX7DUALQSG)
  • Rychlý průvodce i.MX 8M Quad Evaluation Kit (IMX8MQUADEVKQSG)
  • Rychlý průvodce i.MX 8M Mini Evaluation Kit (8MMINIEVKQSG)
  • Rychlý průvodce i.MX 8M Nano Evaluation Kit (8MNANOEVKQSG)
  • Rychlý průvodce sadou i.MX 8QuadXPlus Multisensory Enablement Kit (IMX8QUADXPLUSQSG)
  • Rychlý průvodce i.MX 8QuadMax Multisensory Enablement Kit (IMX8QUADMAXQSG)
  • Průvodce rychlým startem i.MX 8M Plus Evaluation Kit (IMX8MPLUSQSG)
  • i.MX 8ULP EVK Průvodce rychlým startem (IMX8ULPQSG)
  • i.MX 8ULP EVK9 Rychlý průvodce (IMX8ULPEVK9QSG)
  • i.MX 93 EVK Průvodce rychlým startem (IMX93EVKQSG)
  • i.MX 93 9×9 QSB Rychlý průvodce startem (93QSBQSG)

Dokumentace je k dispozici online na adrese nxp.com

Vlastnosti

Vrstvy i.MX Yocto Project Release mají následující funkce:

  • Recept na linuxové jádro
    • The kernel recipe resides in the recipes-kernel folder and integrates an i.MX Linux kernel source linux-imx.git downloaded from the i.MX GitHub repository. This is done automatically by the recipes in the project.
    • LF6.12.20_2.0.0 is a Linux kernel released for the Yocto Project.
  • Recept na U-Boot
    • The U-Boot recipe resides in the recipes-bsp folder and integrates an i.MX U-Boot source uboot-imx.git downloaded from the i.MX GitHub repository.
    • i.MX release LF6.12.20_2.0.0 for the i.MX 6, i.MX 7, i.MX 8, i.MX 91, i.MX 93, i.MX 943, and i.MX 95 devices uses an updated v2025.04 i.MX U-Boot version. This version has not been updated for all i.MX hardware.
    • The i.MX Yocto Project Community BSP uses u-boot-fslc from the mainline, but this is only supported by the U-Boot community and is not supported with the L6.12.20 kernel.
    • The i.MX Yocto Project Community BSP updates the U-Boot versions frequently, so the information above might change as new U-Boot versions are integrated to meta-freescale layers and updates from i.MX u-boot-imx releases are integrated into the mainline.
  • Grafické recepty
    • Graphics recipes reside in recipes-graphics folder.
    • Graphics recipes integrate the i.MX graphics package release.
      For the i.MX SoCs that have a Vivante GPU hardware, the imx-gpu-viv recipes package the graphic components for each distro: frame buffer (FB), XWayland, Wayland backend, and Weston compositor (Weston). Only i.MX 6 and i.MX 7 support frame buffer.
    • For the i.MX SoCs that have a Mali GPU hardware, the mali-imx recipes package the graphic components for XWayland and Wayland backend distro. This feature is for i.MX 9 Only.
    • Xorg-driver integrates the xserver-xorg.
  • i.MX package recipes
    firmware-imx, fimrware-upower, imx-sc-fimrware, and other packages reside in recipes-bsp and pull from the i.MX mirror to build and package into image recipes.
  • Multimediální recepty
    • Multimedia recipes reside in the recipes-multimedia folder.
    • Proprietary packages like imx-codec and imx-parser have recipes pull source from the i.MX public mirror to build and package them into the image recipes.
    • Open source packages have the recipes that pull source from the public Git Repos on GitHub.
    • Some recipes are provided for codecs that are license restricted. Packages for these are not on the i.MX public mirror. These packages are available separately. Contact your i.MX Marketing representative to acquire these.
  • Základní recepty
    Některé recepty na pravidla, jako je udev, poskytují aktualizovaná pravidla i.MX, která se mají nasadit do systému. Tyto recepty jsou obvykle aktualizacemi zásad a používají se pouze pro přizpůsobení. Vydání poskytuje aktualizace pouze v případě potřeby.
  • Demo recepty
    Demonstration recipes reside in the meta-imx-sdk directory. This layer contains image recipes and recipes for customization, such as touch calibration, or recipes for demonstration applications.
  • Recepty strojového učení
    Machine learning recipes reside in the meta-imx-ml directory. This layer contains machine learning recipes for packages, such as tensorflow-lite and onnx.
  • Recepty v kokpitu
    Cockpit recipes reside in meta-imx-cockpit and are supported on the i.MX 8QuadMax using the imx-8qm-cockpit-mek machine configuration.
  • GoPoint recipes
    GoPoint demo recipes reside in the layer meta-nxp-demo-experience. More demonstration and tool recipes are included. This layer is included in all released full images.

Nastavení hostitele

Abyste dosáhli očekávaného chování projektu Yocto na hostitelském počítači se systémem Linux, nainstalujte níže popsané balíčky a utility. Důležitým faktorem je potřeba místa na pevném disku hostitelského počítače. Napříkladample, při stavbě na počítači se systémem Ubuntu je minimální požadované místo na pevném disku asi 50 GB. Doporučuje se poskytnout alespoň 120 GB, což je dostatečné pro kompilaci všech backendů dohromady. Pro vytváření komponent strojového učení se doporučuje alespoň 250 GB.
Doporučená minimální verze Ubuntu je 22.04 nebo novější.

  1. Přístavní dělník
    i.MX nyní vydává skripty pro nastavení dockeru v imx-docker. Postupujte podle pokynů v souboru readme pro nastavení počítače sestavení hostitele pomocí dockeru.
    Docker on board je navíc povolen se standardním manifestem zahrnutím metavirtualizační vrstvy pouze na i.MX 8. Vznikne tak bezhlavý systém pro instalaci docker kontejnerů z externích docker hub.
  2. Host packages
    Sestavení projektu Yocto vyžaduje instalaci konkrétních balíčků pro sestavení, které jsou zdokumentovány v projektu Yocto. Přejděte na stránku Yocto Project Quick Start a zkontrolujte balíčky, které musí být nainstalovány na vašem sestavení.
    Základní hostitelské balíčky Yocto Project jsou:

sudo apt-get install build-essential chrpath cpio debianutils diffstat file gawk
gcc git iputils-ping libacl1 liblz4-tool locales python3 python3-git python3- jinja2 python3-pexpect python3-pip python3-subunit socat texinfo unzip wget xzutilszstd efitools
Konfigurační nástroj používá výchozí verzi příkazu grep, která je na vašem sestavovacím počítači. Pokud je v cestě jiná verze příkazu grep, může to způsobit selhání sestavení. Jedním z řešení je přejmenovat speciální verzi na verzi, která neobsahuje grep.

Setting up the Repo utility
Repo je nástroj postavený na Gitu, který zjednodušuje správu projektů obsahujících více repozitářů, i když jsou hostovány na různých serverech. Repo velmi dobře doplňuje vrstvenou povahu projektu Yocto a usnadňuje uživatelům přidávání vlastních vrstev do BSP.

Chcete-li nainstalovat utilitu „repo“, proveďte následující kroky:

  1. Vytvořte složku bin v domovském adresáři.
  2. Abyste zajistili, že složka ~/bin je ve vaší proměnné PATH, přidejte do souboru .bashrc následující řádek fileexport PATH=~/bin:$PATH

Nastavení projektu Yocto

Adresář i.MX Yocto Project BSP Release obsahuje adresář se zdrojovými kódy, který obsahuje recepty použité k vytvoření jednoho nebo více adresářů sestavení, spolu se sadou skriptů použitých k nastavení prostředí.
Recepty použité k sestavení projektu pocházejí jak z komunitních verzí, tak z verzí i.MX BSP. Vrstvy projektu Yocto se stáhnou do adresáře sources. Tento krok zajistí, že jsou nastaveny všechny potřebné recepty pro sestavení projektu.
Následující exampLe ukazuje, jak stáhnout vrstvy receptů i.MX Yocto Project Linux BSP. Pro tento příkladample, je pro projekt vytvořen adresář s názvem imx-yocto-bsp. Místo toho lze použít libovolný název.

Poznámka:
https://github.com/nxp-imx/imx-manifest/tree/imx-linux-walnascar má seznam všech manifestů fileje v tomto vydání podporováno.
Po dokončení tohoto procesu je BSP odebrán do adresáře imx-yocto-bsp/sources.

Sestavení obrázku

Tato část poskytuje podrobné informace spolu s procesem vytváření obrazu.
Build configurations
i.MX BSP provides a script, imx-setup-release.sh, that simplifies the setup for i.MX machines. To use the script, the name of the specific machine to be built and the desired graphical backend must be specified.  The script sets up a directory and the configuration files pro zadaný stroj a backend.
In the meta-imx layer, i.MX provides new or updated machine configurations that overlay the meta-freescale machine configurations. These files are copied into the meta-freescale/conf/machin directory by the imx-setup-release.sh script. Create a new parameter. The following are i.MX machine configuration files, které lze vybrat. Nejnovější přírůstky najdete v poznámkách k vydání nebo v adresáři počítače.
  • i.MX 6
    • imx6qpsabresd
    • imx6ulevk
    • imx6ulz-14×14-evk
    • imx6ull14x14evk
    • imx6ull9x9evk
    • imx6dlsabresd
    • imx6qsabresd
    • imx6solosabresd
    • imx6sxsabresd
    • imx6sllevk
  • i.MX 7
    • imx7dsabresd
  • i.MX 8
    • imx8qmmek
    • imx8qxpc0mek
    • imx8mqevk
    • imx8mm-lpddr4-evk
    • imx8mm-ddr4-evk
    • imx8mn-lpddr4-evk
    • imx8mn-ddr4-evk
    • imx8mp-lpddr4-evk
    • imx8mp-ddr4-evk
    • imx8dxla1-lpddr4-evk
      imx8dxlb0-lpddr4-evk
    • imx8dxlb0-ddr3l-evk
    • imx8mnddr3levk
    • imx8ulp-lpddr4-evk
    • imx8ulp-9×9-lpddr4x-evk
  • i.MX 9
    • imx91-11×11-lpddr4-evk
    • imx91-9×9-lpddr4-qsb
    • imx93-11×11-lpddr4x-evk
    • imx93-14×14-lpddr4x-evk
    • imx93-9×9-lpddr4-qsb
    • imx943-19×19-lpddr5-evk
    • imx943-19×19-lpddr4-evk
    • imx95-19×19-lpddr5-evk
    • imx95-15×15-lpddr4x-evk
    • imx95-19×19-verdin

Každá složka sestavení musí být nakonfigurována tak, aby používala pouze jednu distribuci. Pokaždé, když se změní proměnná DISTRO_FEATURES, je potřeba vyčistit složku sestavení. Konfigurace distribuce se ukládají do souboru local.conf. file v nastavení DISTRO a zobrazují se, když běží bitbake. V minulých verzích jsme používali poky distro a přizpůsobené verze a poskytovatele v našem layer.conf, ale vlastní distro je lepší řešení. Když se použije výchozí poky distro, použije se výchozí konfigurace komunity. Jako vydání i.MX preferujeme sadu konfigurací, které NXP podporuje a testuje.
Zde je seznam konfigurací DISTRO. Upozorňujeme, že fsl-imx-fb není podporován na i.MX 8 ani i.MX 9 a fsl-imx-x11 již není podporován.

  • fsl-imx-wayland: Grafika Pure Wayland.
  • fsl-imx-xwayland: grafika Wayland a X11. Aplikace X11 používající EGL nejsou podporovány.
  • fsl-imx-fb: Grafika Frame Buffer – žádný X11 nebo Wayland. Frame Buffer není podporován na i.MX 8 a i.MX 9.

Pokud žádné distro file je specifikováno, distribuce XWayland je nastavena standardně. Uživatelé si mohou vytvořit vlastní distribuci. file na základě jednoho z nich přizpůsobit své prostředí bez aktualizace local.conf pro nastavení preferovaných verzí a poskytovatelů.
Syntaxe skriptu imx-setup-release.sh je uvedena níže:

Kde,

  • DISTRO=<distro configuration name> is the distro, which configures the build environment, and is stored in meta-imx/meta-imx-sdk/conf/distro.
  • STROJ= je název stroje, který ukazuje na konfiguraci file v conf/machine v meta-freescale a meta-imx.
  • -b specifies the name of the build directory created by the imx-setup-release.sh script.
  • Když je skript spuštěn, vyzve uživatele k přijetí smlouvy EULA. Jakmile je EULA přijata, přijetí je uloženo v local.conf uvnitř každé složky sestavení a dotaz na přijetí EULA se již pro tuto složku sestavení nezobrazuje.
  • Po spuštění skriptu je pracovní adresář ten, který skript právě vytvořil, zadaný pomocí volby -b. Vytvoří se složka conf obsahující soubor files bblayers.conf a local.conf.
  • The /conf/bblayers.conf file obsahuje všechny meta vrstvy použité ve verzi projektu i.MX Yocto.
  • Stránka local.conf file obsahuje specifikace stroje a distribuce:
  • STROJ ??= 'imx7ulpevk'
  • DISTRO ?= 'fsl-imx-xwayland'
  • ACCEPT_FSL_EULA = „1“
    Kde,
  • Konfiguraci MACHINE lze změnit úpravou této položky filev případě potřeby.
  • ACCEPT_FSL_EULA v souboru local.conf file znamená, že jste přijali podmínky smlouvy EULA.
  • Ve vrstvě meta-imx jsou pro stroje i.MX 6 a i.MX 6 poskytovány konsolidované konfigurace strojů (imx7qpdlsolox.conf a imx6ul7d.conf). i.MX je používá k vytvoření společného obrazu se všemi stromy zařízení v jednom obrazu pro testování. Nepoužívejte tyto stroje k ničemu jinému než k testování.

Choosing an i.MX Yocto project image
Projekt Yocto nabízí několik obrázků, které jsou k dispozici v různých vrstvách. Recepty obrázků uvádějí různé klíčové obrázky, jejich obsah a vrstvy, které poskytují recepty obrázků.

Table 1. i.MX Yocto project images

Název obrázku Cíl Poskytováno vrstvou
jádro-obraz-minimální Malý obrázek, který umožňuje pouze spuštění zařízení. těsný
jádro-obraz-základ Obraz pouze pro konzoli, který plně podporuje hardware cílového zařízení. těsný
jádro-obraz-sato Obrázek se Sato, mobilním prostředím a vizuálním stylem pro mobilní zařízení. Obrázek podporuje motiv Sato a používá aplikace Pimlico. Obsahuje terminál, editor a file manažer. těsný
imx-image-core Obraz i.MX s testovacími aplikacemi i.MX, který se má použít pro backendy Wayland. Tento obrázek používá naše každodenní základní testování. meta-imx/meta-imx-sdk
fsl-image-machine- test Obraz jádra i.MX komunity FSL Community s prostředím konzoly – žádné rozhraní GUI. meta-freescale-distro
imx-image- multimedia Vytváří obraz i.MX s GUI bez obsahu Qt. meta-imx/meta-imx-sdk
Název obrázku Cíl Poskytováno vrstvou
imx-image-full Builds an open source Qt 6 image with Machine Learning features. These images are only supported for i.MX SoC with hardware graphics. They are not supported on the i.MX 6UltraLite, i.MX 6UltraLiteLite, i.MX 6SLL, i.MX 7Dual, i.MX 8MNanoLite, or i.MX 8DXL meta-imx/meta-imx-sdk

Building an image
Sestavení projektu Yocto používá příkaz bitbake. Napřample, bitbake vytvoří pojmenovanou komponentu. Každé sestavení komponenty má několik úkolů, jako je načítání, konfigurace, kompilace, balení a nasazení do cílového rootfs. Sestavení bitové bitové kopie shromažďuje všechny komponenty požadované bitovou kopií a sestavení v pořadí podle závislosti na úkolu. První sestavení je toolchain spolu s nástroji potřebnými pro sestavení komponent.

Následující příkaz je exampjak vytvořit obrázek:

  • bitbake imx-image-multimedia

Bitbake options
The bitbake command used to build an image is bitbake <image name>. Additional parameters can be used for specific activities described below. Bitbake provides various useful options for developing a single
component. To run with a BitBake parameter, the command looks like this:

bitbake
Kde, je požadovaný balíček pro sestavení. Následující tabulka uvádí některé možnosti BitBake.

Tabulka 2. Možnosti BitBake

Parametr BitBake Popis
-c vynést Načte, pokud stav stahování není označen jako dokončený.
-c cleanall Vyčistí celý adresář sestavení komponenty. Všechny změny v adresáři sestavení budou ztraceny. Kořenové kořeny a stav komponenty jsou také vymazány. Komponenta je také odebrána z adresáře pro stahování.
-c nasadit Nasadí obrázek nebo komponentu do rootfs.
-k Pokračuje ve vytváření komponent, i když dojde k přerušení sestavení.
-c compile -f Nedoporučuje se, aby se zdrojový kód v dočasném adresáři měnil přímo, ale pokud ano, projekt Yocto jej nemusí znovu sestavit, pokud není tato možnost použita. Tuto možnost použijte k vynucení rekompilace po nasazení bitové kopie.
-g Uvádí strom závislostí pro obrázek nebo komponentu.
-DDD Zapne ladění do hloubky 3 úrovní. Každé D přidává další úroveň ladění.
-s, –show-versions Zobrazuje aktuální a preferované verze všech receptů.

U-Boot configuration
Konfigurace U-Boot jsou definovány v hlavní konfiguraci stroje file. Konfigurace je určena pomocí nastavení UBOOT_CONFIG. To vyžaduje nastavení UBOOT_CONFIG v local.conf. Jinak sestava U-Boot používá ve výchozím nastavení spouštění ze SD.
Ty lze sestavit samostatně pomocí následujících příkazů (změňte MACHINE na správný cíl). Více konfigurací U-Boot lze vytvořit jedním příkazem vložením mezer mezi konfigurace U-Boot.
The following are the U-Boot configurations for each boards. i.MX 6 and i.MX 7 boards support SD without OP-TEE and with OP-TEE:

  • uboot_config_imx95evk=”sd fspi”
  • uboot_config_imx943evk=”sd xspi”
  • uboot_config_imx93evk=”sd fspi”
  • uboot_config_imx91evk=”sd nand fspi ecc”
  • uboot_config_imx8mpevk=”sd fspi ecc”
  • uboot_config_imx8mnevk=”sd fspi”
  • uboot_config_imx8mmevk=”sd fspi”
  • uboot_config_imx8mqevk=”sd”
  • uboot_config_imx8dxlevk=”sd fspi”
  • uboot_conifg_imx8dxmek=”sd fspi”
  • uboot_config_imx8qxpc0mek=”sd fspi”
  • uboot_config_imx8qxpmek=”sd fspi”
  • uboot_config_imx8qmmek=”sd fspi”
  • uboot_config_imx8ulpevk=”sd fspi”
  • uboot_config_imx8ulp-9×9-lpddr4-evk=”sd fspi”
  • uboot_config_imx6qsabresd=”sd sata sd-optee”
  • uboot_config_imx6qsabreauto=”sd sata eimnor spinor nand sd-optee”
  • uboot_config_imx6dlsabresd=”sd epdc sd-optee”
  • uboot_config_imx6dlsabreauto=”sd eimnor spinor nand sd-optee”
  • uboot_config_imx6solosabresd=”sd sd-optee”
  • uboot_config_imx6solosabreauto=”sd eimnor spinor nand sd-optee”
  • uboot_config_imx6sxsabresd=”sd emmc qspi2 m4fastup sd-optee”
  • uboot_config_imx6sxsabreauto=”sd qspi1 nand sd-optee”
  • uboot_config_imx6qpsabreauto=”sd sata eimnor spinor nand sd-optee”
  • uboot_config_imx6qpsabresd=”sd sata sd-optee”
  • uboot_config_imx6sllevk=”sd epdc sd-optee”
  • uboot_config_imx6ulevk=”sd emmc qspi1 sd-optee”
  • uboot_config_imx6ul9x9evk=”sd qspi1 sd-optee”
  • uboot_config_imx6ull14x14evk=”sd emmc qspi1 nand sd-optee”
  • uboot_config_imx6ull9x9evk=”sd qspi1 sd-optee”
  • uboot_config_imx6ulz14x14evk=”sd emmc qspi1 nand sd-optee”
  • uboot_config_imx7dsabresd=”sd epdc qspi1 nand sd-optee”
  • uboot_config_imx7ulpevk=”sd emmc sd-optee”

Pouze s jednou konfigurací U-Boot:

  • echo “UBOOT_CONFIG = \”eimnor\”” >> conf/local.conf

S více konfiguracemi U-Boot:

  • echo “UBOOT_CONFIG = \”sd eimnor\”” >> conf/local.conf
  • MACHINE=<machine name> bitbake -c deploy u-boot-imx

Build scenarios
Následují scénáře sestavení instalace pro různé konfigurace.
Nastavte manifest a naplňte zdroje vrstvy Yocto Project pomocí těchto příkazů:

Následující části uvádějí některé konkrétní příkladyamples. Nahraďte názvy počítačů a zadané backendy pro přizpůsobení příkazů.

i.MX 8M Plus EVK with XWayland graphics backend

  • DISTRO=fsl-imx-xwayland MACHINE=imx8mpevk source imx-setup-release.sh -b build-xwayland bitbake imx-image-full
  • To vytváří obraz XWayland s Qt 6 a funkcemi strojového učení. Chcete-li sestavit bez Qt 6 a strojového učení, použijte místo toho imx-image-multimedia.

i.MX 8M Quad EVK image with Walyand graphics backend

  • DISTRO=fsl-imx-wayland MACHINE=imx8mqevk source imx-setup-release.sh -b buildwayland
  • bitbake imx-image-multimedia
    To vytváří obraz Weston Wayland s multimédii bez Qt 6.

i.MX 6QuadPlus SABRE-AI image with Frame Buffer graphics backend

  • DISTRO=fsl-imx-fb MACHINE=imx6qpsabresd source imx-setup-release.sh –b buildfb
  • bitbake imx-image-multimedia
  • Tím se vytvoří multimediální obraz s backendem vyrovnávací paměti snímků.

Restarting a build environment
If a new terminal window is opened or the machine is rebooted after a build directory is set up, the setup environment script should be used to set up the environment variables and run a build again. The full imx-setup-release.sh is not needed.

source setup-environment <build-dir>

Chromium Browser on Wayland
Komunita projektu Yocto má recepty Chromium pro prohlížeč Chromium verze Wayland pro i.MX SoC s hardwarem GPU. NXP nepodporuje ani netestuje záplaty od komunity. Tato část popisuje, jak integrovat Chromium do vašich rootfs a povolit hardwarově akcelerované vykreslování WebGL. Prohlížeč Chromium vyžaduje další vrstvy, jako je meta-browser přidaný do skriptu imx-release-setup.sh automaticky.

Poznámka:

  • X11 is not supported.
  • i.MX 6 and i.MX 7 support is deprecated in this release and will be removed in the next release. In local.conf, add Chromium into your image.

CORE_IMAGE_EXTRA_INSTALL += „chrom-ozone-wayland“
Přidejte do sestavení vrstvu Chromium.
bitbake-layers add-layer ../sources/meta-browser/meta-chromium

Qt 6 and QtWebProhlížeče motorů
Qt 6 has both a commercial and an open source license. When building in Yocto Project, the open source
license is the default. Make sure to understand the differences between these licenses and choose appropriately. After custom Qt 6 development has started on the open source license, it cannot be used with the commercial license. Work with a legal representative to understand the differences between these licenses.

Poznámka:
Budova QtWebEngine není kompatibilní s metachromovou vrstvou použitou ve vydání.

  • Pokud používáte sestavení NXP, odeberte meta-chromium z bblayers.conf:
  • # Komentováno kvůli nekompatibilitě s qtwebmotor
  • #BBLAYERS += “${BSPDIR}/sources/meta-browser/meta-chromium”
  • K dispozici jsou čtyři prohlížeče Qt 6. QtWebProhlížeče motorů najdete v:
  • /usr/share/qt6/examples/webenginewidgets/StyleSheetbrowser
  • /usr/share/qt6/examples/webenginewidgets/SimplebBrowser
  • /usr/share/qt6/examples/webenginewidgets/cookiebBrowser
  • /usr/share/qt6/examples/webmotor/rychlý prohlížeč

Všechny tři prohlížeče lze spustit tak, že přejdete do výše uvedeného adresáře a spustíte tam nalezený spustitelný soubor.
Touchscreen can be enabled by adding the parameters -plugin evdevtouch:/dev/input/event0 to the executable. ./quicknanobrowser -plugin evdevtouch:/dev/input/event0 QtWebengine funguje pouze na SoC s grafickým hardwarem GPU na i.MX 6, i.MX 7, i.MX 8 a i.MX 9.
Chcete-li zahrnout Qtwebmotor v obrázku, vložte následující do local.conf nebo do receptury obrázku.
IMAGE_INSTALL:append = ” packagegroup-qt6-webmotor"

NXP eIQ machine learning

  • Meta-ml vrstva je integrací NXP eIQ strojového učení, která byla dříve vydána jako samostatná meta-imx-machinelearning vrstva a nyní je integrována do standardního BSP obrazu (imx-image-full).
  • Mnoho funkcí vyžaduje Qt 6. V případě použití jiné konfigurace než imx-image-full vložte do local.conf následující:
  • IMAGE_INSTALL:append = ” packagegroup-imx-ml”
  • Chcete-li nainstalovat balíčky NXP eIQ do SDK, vložte do local.conf následující:
  • TOOLCHAIN_TARGET_TASK:append = ”tensorflow-lite-dev onnxruntime-dev”

Poznámka:
Proměnná TOOLCHAIN_TARGET_TASK_append nainstaluje balíčky pouze do SDK, nikoli do obrazu.
Chcete-li přidat konfigurace modelu a vstupní data pro ukázky OpenCV DNN, vložte do local.conf následující:
PACKAGECONFIG:append:pn-opencv_mx8 = ”testy testy-imx”

Systemd
Systemd is enabled as the default initialization manager. To disable systemd as default, go to fs-imxbase inc and comment out the systemd section.

OP-TEE enablement
OP-TEE vyžaduje tři komponenty: OP-TEE OS, OP-TEE klient a OP-TEE test. Kromě toho má jádro a U-Boot konfigurace. OP-TEE OS je umístěn v bootloaderu, zatímco OP-TEE klient a test jsou umístěny v rootfs.
OP-TEE is enabled by default in this release. To disable OP-TEE, go to the meta-imx/meta-imx-bsp/ conf/layer.conf file a zakomentujte DISTRO_FEATURES_append pro OP-TEE a odeberte komentář.

Building Jailhouse
Jailhouse je statický hypervizor pro dělení disků založený na operačním systému Linux. Je podporován na deskách i.MX 8M Plus, i.MX 8M Nano, i.MX 8M Quad EVK, i.MX 8M Mini EVK, i.MX 93, i.MX 95 a i.MX 943.

Chcete-li povolit sestavení Jailhouse, přidejte do local.conf následující řádek:

  • DISTRO_FEATURES:append = ”vězení”
  • In U-Boot, run run jh_netboot or jh_mmcboot. It loads the dedicated DTB for Jailhouse usage. Taking i.MX
  • 8M Quad as an example, po spuštění operačního systému Linux:
  • #insmod jailhouse.ko
  • #./jailhouse povolit imx8mq.cell

Více informací o Jailhouse na i.MX 8 a i.MX 9 naleznete v uživatelské příručce i.MX Linux (UG10163).

Nasazení obrazu

Kompletní filejsou nasazeny systémové obrazy /tmp/deploy/images. Obrázek je z větší části specifický pro stroj nastavený v nastavení prostředí. Každé sestavení obrazu vytvoří U-Boot, jádro a typ obrazu na základě IMAGE_FSTYPES definovaných v konfiguraci počítače. file. Většina konfigurací strojů poskytuje obraz SD karty (.wic) a obraz rootfs (.tar). Obraz SD karty obsahuje obraz rozdělený na oddíly (s U-Bootem, kernelem, rootfs atd.) vhodný pro zavedení odpovídajícího hardwaru.

Flashing an SD card image
Obrázek SD karty file .wic obsahuje rozdělený obraz (s U-Bootem, jádrem, rootfs atd.) vhodný pro zavedení odpovídajícího hardwaru. Chcete-li flashovat obrázek SD karty, spusťte následující příkaz:
zstdcat .wic.zst | sudo dd of=/dev/sd bs=1M konv=fsync

For more information on flashing, see Section “Preparing an SD/MMC card to boot” in the i.MX Linux User’s Guide (UG10163). For NXP eIQ machine learning applications, an additional free disk space is required
(approximately 1 GB). It is defined by adding the IMAGE_ROOTFS_EXTRA_SPACE variable into the local.conf file před procesem stavby Yocto. Podívejte se na Yocto Project Mega-Manual.

Přizpůsobení

Existují tři scénáře, které lze sestavit a přizpůsobit na operačním systému i.MX Linux:

  • Vytvoření BSP projektu i.MX Yocto a ověření na referenční desce i.MX. Pokyny v tomto dokumentu popisují tuto metodu podrobně.
  • Customizing kernel and creating a custom board and device tree with kernel and U-Boot. For more details on how to build an SDK and set up a host machine for building the kernel and U-Boot only outside of the Yocto Project build environment, see Section “How to build U-Boot and Kernel in standalone environment” in the i. MX Linux User’s Guide (UG10163).
  • Přizpůsobení distribuce přidáním nebo odebráním balíčků z BSP poskytovaných pro vydání i.MX Linux vytvořením vlastní vrstvy Yocto Project. i.MX poskytuje několik ukázek, napřampsoubory pro zobrazení vlastní vrstvy nad verzí i.MX BSP. Zbývající části tohoto dokumentu obsahují pokyny pro vytvoření vlastní distribuce a konfigurace desky.

Creating a custom distro
Vlastní distribuce může nakonfigurovat vlastní prostředí sestavení. Distro files released fsl-imx-wayland, fsl-imx-xwayland, and fsl-imx-fb all show configurations for specific graphical backends. Distros can also be used to configure other parameters such as kernel, U-Boot, and GStreamer. The i.MX distro files jsou nastaveny tak, aby vytvořily vlastní prostředí pro sestavení potřebné pro testování našich vydání BSP i.MX Linux OS.
Každému zákazníkovi se doporučuje vytvořit si vlastní distro file a použít to k nastavení poskytovatelů, verzí a vlastních konfigurací pro jejich prostředí sestavení. Distro se vytvoří zkopírováním existujícího distra filenebo
including one like poky.conf and adding additional changes, or including one of the i.MX distros and using that as a starting point.

Creating a custom board configuration
Prodejci, kteří vyvíjejí referenční desky, mohou chtít přidat svou desku do komunity FSL BSP. Díky podpoře nového stroje FSL Community BSP je snadné sdílet zdrojový kód s komunitou a umožňuje zpětnou vazbu od komunity.
Projekt Yocto usnadňuje vytváření a sdílení BSP pro novou desku založenou na i.MX. Proces upstreamingu by měl začít, když jádro operačního systému Linux a bootloader fungují a testují pro tento počítač. Je velmi důležité mít stabilní linuxové jádro a bootloader (napřample, U-Boot), na který se má odkazovat v konfiguraci stroje file, aby byl výchozím nastavením používaným pro daný stroj.
Dalším důležitým krokem je určení správce nového stroje. Správce je ten, kdo je zodpovědný za udržování sady hlavních balíčků fungujících pro tuto desku. Správce počítače by měl udržovat jádro a zavaděč aktualizované a balíčky v uživatelském prostoru testované pro tento počítač.

Potřebné kroky jsou uvedeny níže. 

  1. Přizpůsobte konfiguraci jádra files podle potřeby. Konfigurace jádra file je umístění v arch/arm/configs a receptura jádra dodavatele by měla přizpůsobit verzi načtenou receptem jádra.
  2. Customize U-Boot as needed. See the i.MX Porting Guide (UG10165) for details on this.
  3. Přidělte správce desky. Tento správce to zajišťuje files jsou aktualizovány podle potřeby, takže sestavení vždy funguje.
  4. Set up the Yocto Project build as described in the Yocto Project community instructions as shown below. Use the community master branch.
    • Download the needed host package, depending on your host Linux OS distribution, from Yocto Project Quick Start.
    • Download Repo with the command:
    • curl https://storage.googleapis.com/git-repo-downloads/repo>~/bin/repo
    • Create a directory to keep everything in. Any directory name can be used. This document uses imxcommunity- bsp.
    • mkdir imx-community-bsp
      Proveďte následující příkaz:
    • cd imx-community-bsp
    • Initialize the Repo with the master branch of the Repo.
    • repo init -u https://github.com/Freescale/fsl-community-bsp-platform-bmaster
    • Get the recipes that will be used to build.
    • repo sync
    • Set up the environment with the following command:
    • source setup-environment build
  5. Vyberte si podobný stroj file v fsl-community-bsp/sources/meta-freescale-3rdparty/conf/machine a zkopírujte jej s použitím názvu označujícího vaši desku. Upravte novou nástěnku file s informacemi o vaší desce. Změňte alespoň název a popis. Přidat MACHINE_FEATURE.
    Otestujte své změny pomocí nejnovější hlavní větve komunity a ujistěte se, že vše funguje dobře. Použijte alespoň core-image-minimal.
    bitbake core-image-minimal
  6. Prepare the patches. Follow the Recipe Style Guide and Section “Contributing” under github.com/Freescale/meta-freescale/blob/master/README.md.
  7. Upstream do meta-freescale-3rdparty. Pro upstream odešlete záplaty na meta-freescale@yoctoproject.org

Monitoring security vulnerabilities in your BSP
Existují dva způsoby, jak monitorovat běžné zranitelnosti a expozice (CVE): jedním je kontrola Vigiles a druhým je kontrola Yocto CVE.

How to monitor CVE by Vigiles tools
Monitorování běžných zranitelností a ohrožení (CVE) lze provádět pomocí nástrojů Vigiles s podporou NXP od společnosti Timesys. Vigiles je nástroj pro monitorování a správu zranitelnosti, který poskytuje analýzu Yocto CVE v době sestavení cílových snímků. Dělá to tak, že shromažďuje metadata o softwaru používaném v Yocto Project BSP a porovnává je s databází CVE, která integruje informace o CVE z různých zdrojů, včetně NIST, Ubuntu a několika dalších.
Překročení vysoké úrovněview zjištěných zranitelností se vrátí a lze provést úplnou podrobnou analýzu s informacemi o ovlivnění CVE, jejich závažnosti a dostupných opravách. viewed online.

Chcete-li získat přístup k online zprávě, zaregistrujte si svůj účet NXP Vigiles pomocí následujícího odkazu: https://www.timesys.com/register-nxp-vigiles/

Další informace o nastavení a provádění Vigiles naleznete zde:
https://github.com/TimesysGit/meta-timesys https://www.nxp.com/vigiles

Konfigurace
Přidejte meta-timesys do conf/bblayers.conf vašeho BSP sestavení.

Dodržujte formát file a přidejte meta-timesys:

BBLAYERS += “${BSPDIR}/sources/meta-timesys”
Připojte vigile k proměnné INHERIT v conf/local.conf:
DĚDIT += „vigiles“

Provedení
Jakmile je do vašeho sestavení přidán meta-timesys, Vigiles provede kontrolu bezpečnostních zranitelností pokaždé, když je Linux BSP vytvořen pomocí Yocto. Nejsou potřeba žádné další příkazy. Po dokončení každého sestavení se informace o skenování zranitelnosti uloží do adresáře imx-yocto-bsp/ /vigiles.

Můžete view podrobnosti o bezpečnostní kontrole prostřednictvím:

  • Příkazový řádek (shrnutí)
  • Online (podrobnosti)
  • Jednoduše otevřete file jmenoval -report.txt, který obsahuje odkaz na podrobnou online zprávu.

How to monitor CVE by Yocto BitBake

  • The Yocto Project has an infrastructure to track and address unfixed known security vulnerabilities, as tracked by the public Common Vulnerabilities and Exposures (CVE) database.
  • To enable a check for CVE security vulnerabilities using cve-check in the specific image or target you are building, add the following settings to your configuration in conf/local.conf:  INHERIT += “cve-check”
  • The cve-check class looks for known CVEs (Common Vulnerabilities and Exposures) while building with BitBake.
  • For more details, see the Yocto Mega manual: https://docs.yoctoproject.org/singleindex.html#cve-check

Často kladené otázky

Rychlý start
Tato část shrnuje, jak nastavit projekt Yocto na počítači se systémem Linux a vytvořit obraz. Podrobná vysvětlení toho, co to znamená, jsou v sekcích výše.

Instalace nástroje „repo“.
Chcete-li získat BSP, musíte mít nainstalované „repo“. Toto je potřeba provést pouze jednou.

Downloading the BSP Yocto Project Environment
Použijte správný název požadovaného vydání ve volbě -b pro init repo. Toto je třeba provést jednou pro každé vydání a nastaví distribuci pro adresář vytvořený v prvním kroku. Repo synchronizaci lze spustit pro aktualizaci receptů pod zdroji na nejnovější.

Nastavení pro konkrétní backendy

i.MX 8 a i.MX 9 Framebuffer není podporován. Používejte je pouze pro i.MX 6 a i.MX 7 SoC.

Setup for Framebuffer

NXP-UG10164 i-MX-Yocto-Project-01Local configuration tuning
Sestavení projektu Yocto může vyžadovat značné prostředky na sestavení jak z hlediska času, tak využití disku, zejména při sestavování více adresářů sestavení. Existují metody, jak to optimalizovat, napřample, použijte sdílenou mezipaměť sstate (uchovává stav sestavení) a adresář pro stahování (uchovává stažené balíčky). Ty lze nastavit na libovolné místo v souboru local.conf file přidáním prohlášení, jako jsou tyto:

DL_DIR=”/opt/imx/yocto/imx/download” SSTATE_DIR=”/opt/imx/yocto/imx/sstate-cache”

  • Adresáře již musí existovat a mít příslušná oprávnění. Sdílený sstate pomáhá, když je nastaveno více adresářů sestavení, z nichž každý používá sdílenou mezipaměť, aby se minimalizovala doba sestavení. Sdílený adresář pro stahování minimalizuje dobu načítání. Bez těchto nastavení se Yocto Project nastaví jako výchozí na adresář sestavení pro mezipaměť sstate a stahování.
  • Každý balíček stažený v adresáři DL_DIR je označen a .Hotovo. Pokud má vaše síť problém s načtením balíčku, můžete ručně zkopírovat záložní verzi balíčku do adresáře DL_DIR a vytvořit .Hotovo file pomocí dotykového příkazu. Poté spusťte příkaz bitbake: bitbake .
  • Další informace naleznete v referenční příručce projektu Yocto.

Recepty
Každá součást je vytvořena pomocí receptury. Pro nové komponenty musí být vytvořen recept, který bude odkazovat na zdroj (SRC_URI) a specifikovat záplaty, pokud jsou použitelné. Prostředí Yocto Project se vytváří z makefile v umístění určeném SRC_URI v receptu. Když je sestava vytvořena z automatických nástrojů, recept by měl zdědit autotools a pkgconfig. Udělatfiles musí umožnit, aby CC bylo přepsáno nástroji Cross Compile, aby byl balíček vytvořen pomocí Yocto Project.
Některé součásti mají receptury, ale potřebují další opravy nebo aktualizace. To lze provést pomocí receptu bbappend. To se připojí k existujícím podrobnostem receptu o aktualizovaném zdroji. Napřample, recept bbappend pro zahrnutí nového patche by měl mít následující obsah:

FILESEXTRAPATHS:prepend := “${THISDIR}/${PN}:” SRC_URI += file:// .náplast
FILESEXTRAPATHS_prepend říká projektu Yocto, aby se podíval do uvedeného adresáře a našel opravu uvedenou v SRC_URI.

Poznámka:
Pokud recept na bbappend nevyzvednete, view protokol načtení file (log.do_fetch) v pracovní složce a zkontrolujte, zda jsou zahrnuty související opravy nebo ne. Někdy se místo verze v bbappend používá Git verze receptu files.

How to select additional packages
Additional packages can be added to images if there is a recipe provided for that package. A searchable list
of recipes provided by the community can be found at layers.openembedded.org/. You can search to see if an application already has a Yocto Project recipe and find where to download it from.

Updating an image
Obrázek je sada balíčků a konfigurace prostředí.
Obrázek file (jako např. imx-image-multimedia.bb) definuje balíčky, které jdou dovnitř file Systém. Vykořenit file systémy, jádra, moduly a binární soubor U-Boot jsou k dispozici v build/tmp/deploy/images/ .

Poznámka:
Balíčky můžete sestavit, aniž byste to zahrnuli do obrazu, ale pokud chcete, aby se balík automaticky instaloval na rootfs, musíte obraz znovu sestavit.

Package group
Skupina balíčků je sada balíčků, které lze zahrnout do libovolného obrázku.
Skupina balíčků může obsahovat sadu balíčků. NapřampMultimediální úloha může podle stroje určit, zda je balíček VPU sestaven nebo ne, takže výběr multimediálních balíčků může být automatizován pro každou desku podporovanou BSP a v obraze je zahrnut pouze multimediální balíček.
Další balíčky lze nainstalovat přidáním následujícího řádku /local.conf.

CORE_IMAGE_EXTRA_INSTALL:append = ” “

Existuje mnoho skupin balíčků. Jsou v podadresářích s názvem packagegroup nebo packagegroups.

Preferred version
Preferovaná verze se používá k určení preferované verze receptury, která se má použít pro konkrétní komponent. Komponenta může mít více receptur v různých vrstvách a preferovaná verze ukazuje na konkrétní verzi, která se má použít.

In the meta-imx layer, in layer.conf, preferred versions are set for all the recipes to provide a static system for a production environment. These preferred version settings are used for formal i.MX releases but are not
essential for future development.
Preferované verze také pomáhají, když předchozí verze mohou způsobit nejasnosti ohledně toho, který recept by měl být použit.
Napřample, předchozí recepty pro imx-test a imx-lib používaly verzi rok-měsíc, která se změnila na verzování. Bez preferované verze může být vyzvednuta starší verze. Recepty, které mají verze _git, jsou obvykle vybírány před ostatními recepty, pokud není nastavena preferovaná verze. Chcete-li nastavit preferovanou verzi, vložte následující do souboru local.conf.

PREFERRED_VERSION_ : = " “

Další informace o používání preferovaných verzí naleznete v příručkách projektu Yocto.

Preferred provider
The preferred provider is used to specify the preferred provider for a specific component.
A component can have multiple providers. For exampLinuxové jádro může poskytovat i.MX nebo kernel.org a preferovaný poskytovatel uvádí poskytovatele, kterého má použít.
Napřample, U-Boot je poskytován komunitou prostřednictvím denx.de a i.MX. Poskytovatel komunity je specifikován pomocí u-boot-fslc. Poskytovatel i.MX je určen u-boot-imx. Chcete-li uvést preferovaného poskytovatele, vložte do local.conf následující:

PREFERRED_PROVIDER_ : = " ” PREFERRED_PROVIDER_u-boot_mx6 = “u-boot-imx”

SoC family
Rodina SoC dokumentuje třídu změn, které se týkají konkrétní sady systémových čipů. V každé konfiguraci stroje file, stroj je uveden s konkrétní rodinou SoC. Napřample, i.MX 6DualLite Sabre-SD is listed under the i.MX 6 and i.MX 6DualLite SoC families. i.MX 6Solo Sabre-auto is listed under the i.MX 6 and
i.MX 6Solo SoC families. Some changes can be targeted to a specific SoC family in local.conf to override a change in a machine configuration file. Následuje example of a change to an mx6dlsabresd kernel
nastavení.

KERNEL_DEVICETREE:mx6dl = “imx6dl-sabresd.dts”

Rodiny SoC jsou užitečné při provádění změn, které jsou specifické pouze pro třídu hardwaru. Napřample, i.MX 28 EVK nemá Video Processing Unit (VPU), takže všechna nastavení pro VPU by měla používat i.MX 5 nebo i.MX 6, aby byla specifická pro správnou třídu čipů.

BitBake logs

  • BitBake zaznamenává procesy sestavení a balení do adresáře temp v tmp/work/ / /tepl.
  • Pokud se komponentě nepodaří načíst balíček, protokol zobrazující chyby je v file log.do_fetch.
    Pokud se kompilace komponenty nezdaří, je protokol zobrazující chyby v file log.do_compile.
  • Sometimes a component does not deploy as expected. Check the directories under the build component
    directory (tmp/work/<architecture>/<component>). Check the package, packages-split, and sysroot* directories of each recipe to see if the filetam jsou umístěny s (kde jsou staged před zkopírováním do adresáře nasazení).

How to add a mechanism for CVE monitoring and notification
Mechanismus sledování CVE lze načíst z GitHubu. Přejděte do adresáře imx-yocto-bsp/sources.

Spusťte následující příkaz:

git klon https://github.com/TimesysGit/meta-timesys.git-bmaster

Tento příkaz stáhne další metavrstvu, která poskytuje skripty pro generování obrazových manifestů používaných pro monitorování zabezpečení a upozornění jako součást nabídky produktů Vigiles od NXP a Timesys. Jak řešení používat, postupujte podle části 7.3.
Získání přístupu k úplným sestavám CVE vyžaduje licenční klíč LinuxLink. Bez klíče ve vašem vývojovém prostředí se Vigiles nadále spouští v Demo režimu a vytváří pouze souhrnné zprávy.
Log into your Vigiles account on LinuxLink (or create one if you do not have one: https://www.timesys.com/register-nxp-vigiles/ Access your Preferences and generate a New Key. Download the key file to your development
environment. Specify the location of the key file v souboru conf/local.conf vašeho Yocto file s následujícím prohlášením:

VIGILES_KEY_FILE = "/tools/timesys/linuxlink_key"

Reference

  • For details on boot switches, see Section “How to Boot the i.MX Boards” in the i.MX Linux User’s Guide (UG10163).
  • For how to download images using U-Boot, see Section “Downloading Images Using U-Boot” in the i.MX Linux User’s Guide (UG10163).
  • For how to set up an SD/MMC card, see Section “Preparing an SD/MMC Card to Boot” in the i.MX Linux User’s Guide (UG10163).

Poznámka o zdrojovém kódu v dokumentu

ExampKód zobrazený v tomto dokumentu má následující autorská práva a licenci BSD-3-Clause:
Copyright 2025 NXP Redistribuce a použití ve zdrojové a binární formě, s úpravami nebo bez nich, jsou povoleny za předpokladu, že jsou splněny následující podmínky:

  1. Redistribuce zdrojového kódu musí obsahovat výše uvedené upozornění na autorská práva, tento seznam podmínek a následující prohlášení o vyloučení odpovědnosti.
  2. Redistribuce v binární formě musí reprodukovat výše uvedenou poznámku o autorských právech, tento seznam podmínek a následující prohlášení o vyloučení odpovědnosti v dokumentaci a/nebo jiných materiálech dodávaných s distribucí.
  3. Jméno držitele autorských práv ani jména jeho přispěvatelů nelze použít k podpoře nebo propagaci produktů odvozených od tohoto softwaru bez zvláštního předchozího písemného souhlasu.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS “AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN  ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Historie revizí

This table provides the revision history. Revision history

ID dokumentu Datum Podstatné změny
UG10164 v.LF6.12.20_2.0.0 26. června 2025 Aktualizováno na jádro 6.12.20, U-Boot v2025.04, TF-A 2.11, OP-TEE 4.6.0, Yocto 5.2 Walnascar a přidán i.MX 943 v Alpha kvalitě.
UG10164 v.LF6.12.3_1.0.0 31. března 2025 Upgradováno na jádro 6.12.3.
UG10164 v.LF6.6.52_2.2.0 16. prosince 2024 Upgradováno na jádro 6.6.52.
UG10164 v.LF6.6.36_2.1.0 30. září

2024

Upgradováno na jádro 6.6.36.
IMXLXYOCTOUG_6.6.23_2.0.0 4. července 2024 Opraven překlep v příkazových řádcích v části 4.
IMXLXYOCTOUG_6.6.23_2.0.0 28. června 2024 Aktualizováno na jádro 6.6.23, U-Boot v2024.04, TF-A v2.10, OP-TEE 4.2.0, Yocto 5.0 Scarthgap a přidány i.MX 91 v Alpha kvalitě a i.MX 95 v Beta kvalitě.
IMXLXYOCTOUG v.LF6.6.3_1.0.0 29. března 2024 Upgradováno na jádro 6.6.3, odstraněno i.MX 91P a přidáno i.MX 95 jako Alpha Quality.
IMXLXYOCTOUG v.LF6.1.55_2.2.0 12/2023 Upgradováno na jádro 6.1.55.
IMXLXYOCTOUG v.LF6.1.36_2.1.0 09/2023 Upgradováno na jádro 6.1.36 a přidáno i.MX 91P.
IMXLXYOCTOUG v.LF6.1.22_2.0.0 06/2023 Upgradováno na jádro 6.1.22.
IMXLXYOCTOUG v.LF6.1.1_1.0.0 04/2023 Oprava chyb v příkazových řádcích v části 3.2.
IMXLXYOCTOUG v.LF6.1.1_1.0.0 03/2023 Upgradováno na jádro 6.1.1.
IMXLXYOCTOUG v.LF5.15.71_2.2.0 12/2022 Upgradováno na jádro 5.15.71.
IMXLXYOCTOUG v.LF5.15.52_2.1.0 09/2022 Upgradováno na jádro 5.15.52 a přidáno i.MX 93.
IMXLXYOCTOUG v.LF5.15.32_2.0.0 06/2022 Upgradováno na jádro 5.15.32, U-Boot 2022.04 a Kirkstone Yocto.
IMXLXYOCTOUG v.LF5.15.5_1.0.0 03/2022 Upgradováno na jádro 5.15.5, Honister Yocto a Qt6.
IMXLXYOCTOUG v.LF5.10.72_2.2.0 12/2021 Aktualizoval jádro na 5.10.72 a aktualizoval BSP.
IMXLXYOCTOUG v.LF5.10.52_2.1.0 09/2021 Aktualizováno pro i.MX 8ULP Alpha a jádro upgradováno na 5.10.52.
IMXLXYOCTOUG v.LF5.10.35_2.0.0 06/2021 Upgradováno na jádro 5.10.35.
IMXLXYOCTOUG v.LF5.10.9_1.0.0 04/2021 Opraven překlep v příkazových řádcích v sekci 3.1 „Hostitelské balíčky“.
IMXLXYOCTOUG v.LF5.10.9_1.0.0 03/2021 Upgradováno na jádro 5.10.9.
IMXLXYOCTOUG v.L5.4.70_2.3.0 01/2021 Byly aktualizovány příkazové řádky v části „Spuštění obrazu Arm Cortex-M4“.
IMXLXYOCTOUG v.L5.4.70_2.3.0 12/2020 i.MX 5.4 konsolidované GA pro vydání i.MX desek včetně i. MX 8M Plus a i.MX 8DXL.
ID dokumentu Datum Podstatné změny
IMXLXYOCTOUG v.L5.4.47_2.2.0 09/2020 Vydání i.MX 5.4 Beta2 pro i.MX 8M Plus, Beta pro 8DXL a konsolidované GA pro vydané desky i.MX.
IMXLXYOCTOUG v.L5.4.24_2.1.0 06/2020 Verze i.MX 5.4 Beta pro i.MX 8M Plus, Alpha2 pro 8DXL a konsolidované GA pro vydané desky i.MX.
IMXLXYOCTOUG v.L5.4.3_2.0.0 04/2020 Verze i.MX 5.4 Alpha pro desky i.MX 8M Plus a 8DXL EVK.
IMXLXYOCTOUG v.LF5.4.3_1.0.0 03/2020 Aktualizace jádra i.MX 5.4 a projektu Yocto.
IMXLXYOCTOUG v.L4.19.35_1.1.0 10/2019 Aktualizace jádra i.MX 4.19 a projektu Yocto.
IMXLXYOCTOUG v.L4.19.35_1.0.0 07/2019 Aktualizace jádra i.MX 4.19 Beta a projektu Yocto.
IMXLXYOCTOUG v.L4.14.98_2.0.0_ga 04/2019 i.MX 4.14 Upgrade jádra a aktualizace desky.
IMXLXYOCTOUG v.L4.14.78_1.0.0_ga 01/2019 Vydání GA rodiny i.MX 6, i.MX 7, i.MX 8.
IMXLXYOCTOUG v.L4.14.62_1.0.0_

beta

11/2018 Upgrade jádra i.MX 4.14, upgrade Yocto Project Sumo.
IMXLXYOCTOUG v.L4.9.123_2.3.0_

8 mm

09/2018 Vydání i.MX 8M Mini GA.
IMXLXYOCTOUG v.L4.9.88_2.2.0_

8qxp-beta2

07/2018 Vydání i.MX 8QuadXPlus Beta2.
IMXLXYOCTOUG v.L4.9.88_2.1.0_

8mm-alpha

06/2018 Vydání i.MX 8M Mini Alpha.
IMXLXYOCTOUG v.L4.9.88_2.0.0-ga 05/2018 Vydání i.MX 7ULP a i.MX 8M Quad GA.
IMXLXYOCTOUG v.L4.9.51_imx8mq-

ga

03/2018 Přidán i.MX 8M Quad GA.
IMXLXYOCTOUG v.L4.9.51_8qm-

beta2/8qxp-beta

02/2018 Přidány i.MX 8QuadMax Beta2 a i.MX 8QuadXPlus Beta.
IMXLXYOCTOUG v.L4.9.51_imx8mq-

beta

12/2017 Přidán i.MX 8M Quad.
IMXLXYOCTOUG v.L4.9.51_imx8qm-

beta1

12/2017 Přidán i.MX 8QuadMax.
IMXLXYOCTOUG v.L4.9.51_imx8qxp-

alfa

11/2017 Počáteční vydání.

Právní informace

Definice
Koncept — Stav konceptu na dokumentu označuje, že obsah je stále pod interní revizíview a podléhá formálnímu schválení, které může vyústit
v úpravách nebo doplňcích. NXP Semiconductors neposkytuje žádná prohlášení ani záruky ohledně přesnosti nebo úplnosti informací obsažených v pracovní verzi dokumentu a nenese žádnou odpovědnost za důsledky použití takových informací.

Vyloučení odpovědnosti
Omezená záruka a odpovědnost — Informace v tomto dokumentu jsou považovány za přesné a spolehlivé. Společnost NXP Semiconductors však neposkytuje žádná prohlášení ani záruky, vyjádřené nebo předpokládané, pokud jde o přesnost nebo úplnost takových informací, a nenese žádnou odpovědnost za důsledky použití takových informací. NXP Semiconductors nenese žádnou odpovědnost za obsah tohoto dokumentu, pokud je poskytnut informačním zdrojem mimo NXP Semiconductors.

Společnost NXP Semiconductors v žádném případě nenese odpovědnost za jakékoli nepřímé, náhodné, trestné, zvláštní nebo následné škody (včetně – bez omezení – ušlého zisku, ušlých úspor, přerušení podnikání, nákladů souvisejících s odstraněním nebo výměnou jakýchkoli produktů nebo nákladů na přepracování), ať už nebo takové škody nejsou založeny na protiprávním jednání (včetně nedbalosti), záruce, porušení smlouvy nebo jiné právní teorii.
Bez ohledu na jakékoli škody, které by mohly zákazníkovi z jakéhokoli důvodu vzniknout, bude souhrnná a kumulativní odpovědnost NXP Semiconductors vůči zákazníkovi za produkty popsané v tomto dokumentu omezena v souladu s podmínkami komerčního prodeje NXP Semiconductors.

  • Právo na změny — NXP Semiconductors si vyhrazuje právo kdykoli a bez upozornění provádět změny informací zveřejněných v tomto dokumentu, včetně, bez omezení, specifikací a popisů produktů. Tento dokument nahrazuje a nahrazuje všechny informace poskytnuté před jeho zveřejněním.
  • Vhodnost pro použití — Produkty NXP Semiconductors nejsou navrženy, autorizovány nebo zaručeny tak, aby byly vhodné pro použití v systémech nebo zařízeních pro podporu života, život kritických nebo kritických systémech nebo zařízeních, ani v aplikacích, kde lze důvodně očekávat selhání nebo nesprávnou funkci produktu NXP Semiconductors. způsobit zranění, smrt nebo vážné poškození majetku nebo životního prostředí. Společnost NXP Semiconductors a její dodavatelé nepřijímají žádnou odpovědnost za zahrnutí a/nebo použití produktů NXP Semiconductors v takovém zařízení nebo aplikacích, a proto je takové zahrnutí a/nebo použití na vlastní riziko zákazníka.
  • Aplikace — Zde popsané aplikace pro kterýkoli z těchto produktů slouží pouze pro ilustrativní účely. NXP Semiconductors neposkytuje žádné prohlášení ani záruku, že takové aplikace budou vhodné pro specifikované použití bez dalšího testování nebo úprav.
    Zákazníci jsou zodpovědní za návrh a provoz svých aplikací a produktů využívajících produkty NXP Semiconductors a NXP Semiconductors nepřijímá žádnou odpovědnost za jakoukoli pomoc s aplikacemi nebo návrhem zákaznických produktů. Je výhradní odpovědností zákazníka určit, zda je produkt NXP Semiconductors vhodný a vhodný pro zákazníkovy aplikace a plánované produkty, jakož i pro plánovanou aplikaci a použití zákazníkem (zákazníků) jako třetí strana. Zákazníci by měli poskytnout vhodné konstrukční a provozní záruky, aby minimalizovali rizika spojená s jejich aplikacemi a produkty.
  • NXP Semiconductors nepřijímá žádnou odpovědnost související s jakýmkoli selháním, poškozením, náklady nebo problémem, který je založen na jakékoli slabosti nebo selhání v aplikacích nebo produktech zákazníka nebo v aplikaci nebo použití zákazníkem (zákazníky třetí strany) zákazníka. Zákazník je odpovědný za provedení všech nezbytných testů pro aplikace a produkty zákazníka využívající produkty NXP Semiconductors, aby se zabránilo selhání aplikací a produktů nebo aplikace nebo použití zákazníkem (zákazníky třetí strany) zákazníka. NXP nenese v tomto ohledu žádnou odpovědnost.
  • Podmínky komerčního prodeje — Produkty NXP Semiconductors se prodávají v souladu se všeobecnými podmínkami komerčního prodeje, jak jsou zveřejněny na https://www.nxp.com/profile/terms není-li v platné písemné individuální dohodě dohodnuto jinak. V případě uzavření individuální smlouvy platí pouze podmínky příslušné smlouvy. Společnost NXP Semiconductors tímto výslovně nesouhlasí s uplatňováním všeobecných obchodních podmínek zákazníka, pokud jde o nákup produktů NXP Semiconductors zákazníkem.
  • Kontrola vývozu — Tento dokument, stejně jako položky zde popsané, mohou podléhat předpisům o kontrole vývozu. Vývoz může vyžadovat předchozí povolení od příslušných orgánů.
  • Vhodnost pro použití v produktech nekvalifikovaných pro automobilový průmysl — Pokud tento dokument výslovně neuvádí, že tento konkrétní produkt NXP Semiconductors je kvalifikovaný pro automobilový průmysl, není tento produkt vhodný pro použití v automobilech. Není kvalifikován ani testován v souladu s automobilovým testováním nebo aplikačními požadavky. Společnost NXP Semiconductors nenese žádnou odpovědnost za zahrnutí a/nebo použití jiných než automobilových kvalifikovaných produktů v automobilovém vybavení nebo aplikacích.
  • V případě, že zákazník použije produkt pro návrh a použití v automobilových aplikacích podle automobilových specifikací a norem, zákazník (a) použije produkt bez záruky NXP Semiconductors na produkt pro takové automobilové aplikace, použití a specifikace a ( b) kdykoli zákazník použije produkt pro automobilové aplikace nad rámec specifikací NXP Semiconductors, takové použití bude výhradně na vlastní riziko zákazníka a (c) zákazník plně odškodní společnost NXP Semiconductors za jakoukoli odpovědnost, škody nebo neúspěšné nároky na produkt vyplývající z návrhu a použití zákazníka. produkt pro automobilové aplikace nad rámec standardní záruky NXP Semiconductors a specifikace produktu NXP Semiconductors.
  • Publikace HTML — Jako laskavost poskytujeme verzi HTML tohoto dokumentu, je-li k dispozici. Definitivní informace jsou obsaženy v příslušném dokumentu ve formátu PDF. Pokud existuje nesrovnalost mezi dokumentem HTML a dokumentem PDF, má prioritu dokument PDF.
  • Překlady — Neanglická (přeložená) verze dokumentu, včetně právních informací v tomto dokumentu, je pouze orientační. V případě jakéhokoli rozporu mezi přeloženou a anglickou verzí má přednost anglická verze.
  • Zabezpečení — Zákazník chápe, že všechny produkty NXP mohou být předmětem neidentifikovaných zranitelností nebo mohou podporovat zavedené bezpečnostní standardy nebo specifikace se známými omezeními. Zákazník je odpovědný za návrh a provoz svých aplikací a produktů po celou dobu jejich životního cyklu, aby se snížil účinek těchto zranitelností na aplikace a produkty zákazníka. Odpovědnost zákazníka se vztahuje také na další otevřené a/nebo proprietární technologie podporované produkty NXP pro použití v aplikacích zákazníka. NXP nenese žádnou odpovědnost za jakoukoli zranitelnost. Zákazník by měl pravidelně kontrolovat aktualizace zabezpečení z NXP a patřičně je sledovat.
  • Zákazník si musí vybrat produkty s bezpečnostními prvky, které nejlépe splňují pravidla, předpisy a normy zamýšlené aplikace a učinit konečná rozhodnutí o designu týkající se svých produktů a je výhradně odpovědný za shodu se všemi právními, regulačními a bezpečnostními požadavky týkajícími se jeho produktů, bez ohledu na jakékoli informace nebo podporu, kterou může NXP poskytnout.
  • NXP má tým pro reakci na bezpečnostní incidenty produktu (PSIRT) (dostupný na adrese PSIRT@nxp.com která spravuje vyšetřování, hlášení a uvolňování řešení bezpečnostních zranitelností produktů NXP.
  • NXP B.V. — NXP B.V. není provozní společností a nedistribuuje ani neprodává produkty.

ochranné známky
Upozornění: Všechny uvedené značky, názvy produktů, názvy služeb a ochranné známky jsou majetkem příslušných vlastníků.
NXP — slovo a logo jsou ochranné známky společnosti NXP BV

© 2025 NXP BV Všechna práva vyhrazena.

Dokumenty / zdroje

Projekt NXP UG10164 i.MX Yocto [pdfUživatelská příručka
LF6.12.20_2.0.0, UG10164 i.MX Yocto Project, UG10164, i.MX Yocto Project, Yocto Project, Project

Reference

Zanechte komentář

Vaše emailová adresa nebude zveřejněna. Povinná pole jsou označena *