Yocto in Action

Non è sempre facile orientarsi nella scelta del sistema operativo alla base della propria applicazione in ambito embedded. La disponibilità di hardware sempre più performante e a basso costo permette al progettista di disporre di fuzionalità di alto livello (librerie per la gestione dei device, grafiche, matematiche, ...), delegando la parte di progettazione del sistema operativo dedicandosi alla creazione di applicazioni più strutturate e ricche di contenuti. La scelta della giusta distribuzione diventa cruciale per non sprecare investimenti e risorse in hardware sovradimensionato, parzialmente utilizzato o peggio ancora sottostimando le richieste dell'applicazione dovendo poi ottimizzare le parti critiche del sistema sforando i tempi di sviluppo.

Nella giungla dei sistemi operativi "embedded" linux ormai può dirsi una realtà consolidata con il suo ecosistema di distribuzioni più o meno facili da utilizzare e mantenere. In questo panorama Yocto sta emergendo grazie alla sua estrema duttilità e grazie anche al contributo al progetto fornito dai maggiori produttori hardware del settore. Yocto non è propriamente un sistema operativo, ma una serie di strumenti per la generazione della propria distribuzione linux, personalizzata secondo le proprie esigenze. Nel corso del tempo Yocto ha accolto sotto la propria egida diversi progetti opensource nati in maniera autonoma (Poky, Bitbake, Openembedded Core, ...), per questo spesso si tende a fare confusione tra le diverse parti che lo compongono, dato che questi strumenti possono essere utilizzati in maniera separata ed è facile trovare documentazione non aggiornata dove non ci sono riferimenti alla loro integrazione in Yocto.

Nella prima parte dell'intervento verranno introdotti e fissati i concetti chiave del progetto Yocto e delle sue principali componenti: Poky, Bitbake e Openembedded Core.
L'attenzione poi si focalizzerà su Openembedded Core e introducendo il concetto di layer nel quale strutturare: i file di recipe per le applicazioni, la definizione di nuove "machine", la creazione di una propria "distro" e la generazione dell'immagine del sistema target. Per ciascuno di questi punti vengono introdotti i concetti e consigliate alcune best practice.
Infine si daranno cenni su come gestire le versioni dei software nella propria distribuzione; questo compito viene affrontato a diversi livelli: nei recipe delle singole applicazioni, nella distro, differenziando le immagini e aggiornando i package group.

Edizione 2014 nella track Track1.

Download


Livello
beginner
Lingua
IT
Durata
60 minuti
Tag
Yocto OpenEmbedded linux