GNU/Linux >> Linux Esercitazione >  >> Linux

Operazioni più comunemente eseguite in Yocto

Yocto Project è un costruttore di distribuzioni Linux incorporato che fa uso di molti altri progetti open source. Una distribuzione Linux è una raccolta di pacchetti software e criteri e sono disponibili centinaia di distribuzioni Linux. La maggior parte di questi non sono progettati per sistemi embedded e non hanno la flessibilità necessaria per ottenere dimensioni di ingombro target e modifiche alla funzionalità, oltre a non soddisfare bene i sistemi con risorse limitate.

Il Progetto Yocto, al contrario, non è una distribuzione di per sé; ti permette di creare una distribuzione Linux progettata per il tuo particolare sistema embedded. Il progetto Yocto fornisce una distribuzione di riferimento per Linux embedded, chiamata Poky.

Il progetto Yocto ha alla base i progetti BitBake e OpenEmbedded-Core (OE-Core). Insieme formano il sistema di compilazione Yocto che costruisce i componenti necessari per un prodotto Linux embedded, vale a dire:

  • Un'immagine del bootloader
  • Un'immagine del kernel Linux
  • Un'immagine del filesystem radice
  • Toolchain e kit di sviluppo software (SDK) per lo sviluppo di applicazioni

Con questi, il progetto Yocto copre le esigenze sia degli sviluppatori di sistemi che di applicazioni. Quando Yocto Project viene utilizzato come ambiente di integrazione per bootloader, kernel Linux e applicazioni per lo spazio utente, lo chiamiamo sviluppo del sistema.

1. Per aprire il menuconfig del kernel Linux (qui sto usando il livello meta-intel), esegui i seguenti comandi.

bitbake -c menuconfig linux-intel

Se stai usando yocto kernel sarà:

bitbake -c menuconfig linux-yocto

2. Per verificare se la tua ricetta bbappend viene analizzata da bitbake, esegui il seguente comando:

bitbake-layers show-appends

3. Per aggiungere un particolare pacchetto nel tuo file system di root.

Apri il tuo file local.conf e aggiungi il nome della ricetta qui sotto:

IMAGE_INSTALL += "recipe-name"

Ad esempio:

IMAGE_INSTALL += "libusb"

o

IMAGE_INSTALL_append = "libusb"

Se vuoi che questo pacchetto sia incluso solo in una particolare immagine,

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

Ad esempio:

IMAGE_INSTALL_append_pn-core-image-sato = "libusb"

4. Per includere un modulo del kernel nel file system di root:

MACHINE_ESSENTIAL_EXTRA_RDEPENDS += "kernel-module-cp210x"

5. Per caricare automaticamente il modulo all'avvio:

KERNEL_MODULE_AUTOLOAD += "cp210x"

6. Comando per controllare l'elenco delle immagini disponibili.

Esegui il seguente comando nella directory di origine:

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

7. Comando per eseguire l'immagine generata in QEMU:

$ runqemu [machine] [zImage] [filesystem]

Ad esempio:

$ runqemu qemux86 core-image-minimal

8. Comando per elencare le macchine disponibili:

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

9. Comando per generare SDK per una particolare immagine:

$ bitbake [imagename] -c populate_sdk

Ad esempio:

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

10. Ordine in cui tutte le attività eseguite sono archiviate in:

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

Ad esempio:

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

11. Genera informazioni sull'albero delle dipendenze nella sintassi del punto:

$ bitbake -g core-image-minimal

Il comando precedente genera un grafico delle dipendenze. Bitbake crea file pn-buildlist, ricetta-depends.dot e task-depends.dot.

  • elenco di compilazione pn :Semplice elenco di pacchetti che verranno compilati
  • ricetta-dipende.dot :mostra le dipendenze tra le ricette
  • attività-dipende.dot :mostra le dipendenze tra le attività.

12. Visualizza le variabili ambientali:

$ bitbake -e [recipe/target name]

Ad esempio:

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

13. Abilita output dettagliato delle attività della shell:

$ bitbake -v [recipe/target name]

Ad esempio:

$ bitbake -v core-image-minimal

14. Continua bitbake anche dopo l'errore. Questo sarà utile quando hai avviato una build e sei andato a pranzo e non vuoi che bitbake si interrompa se non è in grado di recuperare un file su Internet.

$ bitbake -k [target]

Ad esempio:

$ bitbake -k core-image-minimal

15. Forza l'esecuzione della destinazione anche se è disponibile una cache di stato.

$ bitbake -f [target/recipe name]

Ad esempio:

$ bitbake -f busybox


Linux
  1. I 7 spazi dei nomi Linux più utilizzati

  2. Le 5 migliori distribuzioni Linux più stabili nel 2022

  3. I comandi Nginx più utili nel sistema Linux

  4. Scarica il cheat sheet dell'interfaccia a riga di comando di OpenStack! – Comandi più comunemente usati

  5. Linux:comprensione delle operazioni dei comandi di sincronizzazione in Linux?

Spiegazione delle operazioni matematiche di Bash (aritmetica di Bash).

Bash Beginner Series #6:Operazioni con le stringhe in Bash

Strumenti di test di penetrazione più popolari nel 2022

lsof :esempi più comunemente usati

Configurazione LVM:Operazioni/Utility Volume Logico (LV).

Configurazione LVM:Operazioni/Utility Gruppo di Volumi (VG).