Logo de la rubrique ATELIER CAP’TRONIC : Using Yocto for building Linux working environments

ATELIER CAP’TRONIC : Using Yocto for building Linux working environments

Du 27 au 28 avril 2015 Villefontaine (38)

Pour connaitre les prochaines sessions de formation sur Logiciel embarque et programmation cliquez ici.




Objectifs :
- Utiliser et personnaliser Yocto
- Créer des plates-formes Linux Yocto-Basé embarqués
- Utiliser Yocto pour développer des composants

Les travaux pratiques sont réalisés sur une version récente de Yocto (Dizzy)
Les images qui en résultent seront exécutées sur Qemu.

PROGRAMME


FIRST DAY

  • INTRODUCTION TO YOCTO (total : 30 min)

- Overview of Yocto (10 min)
History / Yocto, Open Embedded and Poky / Purpose of the Yocto project / The main projects

- Yocto architecture (10 min)
Overview / Recipes and classes / Tasks
Exercise : Setting up the labs environment (10 min)

  • THE YOCTO BUILD SYSTEM (total : 2h 45 min)

- Build system objectives (15 min)
Building deployable images
Exercise : Building a root file system using Yocto (15 min + “background” build time)

- Build system architecture (45 min)
Layers and layer priorities / Directory layout / Configuration files (Local, Machine, Distro)
Exercise : Testing the generated image on qemu (30 min)

- Using Yocto (30 min)
The bitbake tool ( common options / base commands ) / Building a package / Building an image (root file system + u-boot + kernel)
Exercise : Use bitbake commands to build specific packages (30 min)
Exercise : Deploy the generated image using NFS (15 min)

  • MISCELLANEOUS YOCTO TOOLS (total : 45 min)

- Miscellaneous tools around Yocto (30 min)
Yocto Software Development Kit (SDK) / Application Development Toolkit (ADT) / Hob
Exercise : Develop an user-maintained package using the SDK (15 min)

  • YOCTO PACKAGE RECIPES (total : 2h 45 min)

- Adding a new layer (15 min)
Layer structure / Various kinds of layers
Exercise : Adding a new layer (15 min)

- Recipe architecture (30 min)
Tasks / Task dependencies / Recipe dependencies

- The bitbake language (30 min)
Standard variables and functions / Classes and recipes / The base Yocto classes / Main bitbake commands
Exercise : Examine and understand real-life configuration files (15 min)

- Various kind of recipes and classes (30 min)
Bare program / Makefile-based package / Autotools-based package / U-boot / Kernel / Out-of-tree module

- Defining packaging (15 min)
Package splitting
Exercise : Writing a recipe for a local user-maintained package (15 min)

SECOND DAY

  • MODIFYING RECIPES (total : 3h)

- Customizing an existing recipe (.bbappend) (30 min)

- Recipe dependencies

- Creating and adding patches
Creating a patch for a community-provided component / Creating a patch for an user-maintained component
Exercise : Adding patches and dependencies to a community package (45 min)

- Debugging recipes (15 min)
Debugging recipe selection / Debugging dependencies / Debugging tasks

- Defining new tasks (30 min)
Task declaration / Coding tasks
Exercise : Adding a rootfsinstall task to directly copy the output of an user package in the rootfs image (30 min)

- Automatically starting a program (class update-rc.d) (15 min)
Exercise : Starting an ssh daemon on the target (15 min)

  • CREATING A ROOT FILE SYSTEM (total : 3h)

- Building a root file system with Yocto (15 min)
Creating a custom root file system

- Writing an image recipe (30 min)
Selecting the packages to build / Selecting the file system types / The various kinds of images

- Inheriting and customizing images (15 min)
Customizing system configuration files (network, mount points, …)
Exercise : Writing and building an image recipe (45 min)
Exercise : Creating a JFFS2, UBIFS or EXT2 image with Yocto (15 min)

- Package management (15 min)
Exercise : Create an image with package support for OTA deployment (45 min)

  • YOCTO AND SYSTEM WORKBENCH FOR LINUX (total : 1h)

- What is System Workbench for Linux (10 min)

- What is common with Yocto (10 min)
Concepts / Sequencing

- Main differences with Yocto (10 min)
Different target / Simpler approach

Exercise : Using System Workbench for Linux (guided tour) (30 min)

- Installation

- Creating a platform

- Integrating user applications

- Building the platform

Intervenant :

William Kazuro, AC6

Lieu :

CCI Nord Isère
Parc Technologique
5 rue Condorcet
38 VILLEFONTAINE

Prérequis :

Bonnes compétences en programmation C
Connaissance de la programmation utilisateur Linux
Quelques connaissances de Linux pour les systèmes embarqués

Environnement de cours :

Support de cours imprimé (en anglais) avec une « Quick Reference Card » Yocto
Un PC Linux pour deux stagiaires
Une arborescence Yocto qemuarm pré-compilée sera fournie aux stagiaires afin de réduire les temps de construction initiaux

Les inscriptions sont closes. Pour connaitre les prochaines sessions de formation sur Logiciel embarque et programmation cliquez ici.