GNU/Linux >> Znalost Linux >  >> Linux

Nejčastěji prováděné operace v Yocto

Yocto Project je vestavěný tvůrce distribuce Linuxu, který využívá několik dalších open source projektů. Distribuce Linuxu je sbírka softwarových balíčků a zásad a k dispozici jsou stovky distribucí Linuxu. Většina z nich není navržena pro vestavěné systémy a postrádají flexibilitu potřebnou k dosažení cílové velikosti půdorysu a vylepšení funkčnosti, stejně jako nevyhovují systémům s omezenými zdroji.

Naproti tomu projekt Yocto není distribucí jako takovou; umožňuje vám vytvořit distribuci Linuxu navrženou pro váš konkrétní vestavěný systém. Projekt Yocto poskytuje referenční distribuci pro vestavěný Linux, nazvanou Poky.

Projekt Yocto má ve své základně projekty BitBake a OpenEmbedded-Core (OE-Core). Společně tvoří sestavovací systém Yocto, který vytváří komponenty potřebné pro vestavěný linuxový produkt, konkrétně:

  • Obrázek bootloaderu
  • Obrázek linuxového jádra
  • Obrázek kořenového souborového systému
  • Nástrojové řetězce a sady pro vývoj softwaru (SDK) pro vývoj aplikací

Díky nim projekt Yocto pokrývá potřeby vývojářů systémů i aplikací. Když se Yocto Project používá jako integrační prostředí pro bootloadery, linuxové jádro a aplikace v uživatelském prostoru, označujeme to jako vývoj systému.

1. Chcete-li otevřít menuconfig linuxového jádra ( zde používám vrstvu meta-intel ), spusťte následující příkazy.

bitbake -c menuconfig linux-intel

Pokud používáte jádro yocto, bude to:

bitbake -c menuconfig linux-yocto

2. Chcete-li zkontrolovat, zda je váš recept na bbappend analyzován pomocí bitbake, spusťte následující příkaz:

bitbake-layers show-appends

3. Chcete-li přidat konkrétní balíček do vašeho kořenového systému souborů.

Otevřete svůj soubor local.conf a přidejte název receptu níže:

IMAGE_INSTALL += "recipe-name"

Například:

IMAGE_INSTALL += "libusb"

nebo

IMAGE_INSTALL_append = "libusb"

Pokud chcete, aby byl tento balíček obsažen pouze v konkrétním obrázku,

IMAGE_INSTALL_append_pn-[image-name] = "recipe-name"

Například:

IMAGE_INSTALL_append_pn-core-image-sato = "libusb"

4. Chcete-li zahrnout modul jádra do kořenového systému souborů:

MACHINE_ESSENTIAL_EXTRA_RDEPENDS += "kernel-module-cp210x"

5. Automatické načtení modulu při spouštění:

KERNEL_MODULE_AUTOLOAD += "cp210x"

6. Příkaz pro kontrolu seznamu dostupných obrázků.

Spusťte následující příkaz ve zdrojovém adresáři:

$ ls meta*/recipes*/images/*.bb

7. Příkaz ke spuštění vygenerovaného obrazu v QEMU:

$ runqemu [machine] [zImage] [filesystem]

Například:

$ runqemu qemux86 core-image-minimal

8. Příkaz k zobrazení seznamu dostupných počítačů:

$ ls meta*/conf/machine/*.conf

9. Příkaz pro generování SDK pro konkrétní obrázek:

$ bitbake [imagename] -c populate_sdk

Například:

$ bitbake core-image-full-cmdline -c populate_sdk

10. Pořadí, ve kterém jsou všechny provedené úlohy uloženy v:

[build directory]/tmp/work/[machine toolchain]/[package name]/[package version]/temp/log.task_order

Například:

build/tmp/work/corei7-64-poky-linux/grep/3.1-r0/temp/log.task_order

11. Vygenerujte informace o stromu závislostí v tečkové syntaxi:

$ bitbake -g core-image-minimal

Výše uvedený příkaz vygeneruje graf závislosti. Bitbake vytváří soubory pn-buildlist, recipe-depends.dot a task-depends.dot.

  • seznam pn-buildlist :Jednoduchý seznam balíčků, které se budou sestavovat
  • recipe-depends.dot :Zobrazit závislosti mezi recepty
  • task-depends.dot :Zobrazuje závislosti mezi úkoly.

12. Zobrazí proměnné prostředí:

$ bitbake -e [recipe/target name]

Například:

$ bitbake -e core-image-minimal | grep ^SDKMACHINE

13. Povolte podrobný výstup úloh shellu:

$ bitbake -v [recipe/target name]

Například:

$ bitbake -v core-image-minimal

14. Pokračujte v bitbake i po chybě. To se bude hodit, když jste spustili sestavení a šli na oběd a nechcete, aby se bitbake zastavil, pokud není možné načíst soubor přes internet.

$ bitbake -k [target]

Například:

$ bitbake -k core-image-minimal

15. Vynuťte spuštění cíle, i když je pro něj k dispozici mezipaměť sstate.

$ bitbake -f [target/recipe name]

Například:

$ bitbake -f busybox


Linux
  1. 7 nejpoužívanějších jmenných prostorů Linuxu

  2. Top 5 nejstabilnějších linuxových distribucí v roce 2022

  3. Najít N nejfrekventovanějších slov v souboru?

  1. Linux – Jak rozumíte operacím synchronizačních příkazů v Linuxu?

  2. 5 nejkrásnějších desktopových prostředí Linuxu

  3. Operace Elliptic Curve z příkazového řádku

  1. Konfigurace LVM:Operace/nástroje logického svazku (LV).

  2. Konfigurace LVM:Operace/nástroje skupiny svazků (VG).

  3. GNUPLOT nemůže přiblížit