Yocto开发培训服务
Yocto开发培训服务是湃兔核面向企业级开发,提供的线下付费培训服务,可以协助企业的开发者快速入门和熟悉使用Yocto开发。
第一天课程目录
- Introduction to Yocto
- Overview of Yocto
- History
- Yocto, Open Embedded and Poky
- Purpose of the Yocto project
- The main projects
- Yocto architecture
- Overview
- Recipes and classes
- Tasks
- Exercise: Setting up the labs environment
- The Yocto build system
- Build system objectives
- Building deployable images
- Exercise: Building a root file system using Yocto
- Build system architecture
- Layers and layer priorities
- Directory layout
- Configuration files
- Local
- Machine
- Distro
- The bitbake tool
- Common options
- Using Yocto
- 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 packages and images
- The bitbake tool
- Miscellaneous tools around Yocto
- Yocto Application Development Toolkit (ADT)
- Toaster
- Exercise: Deploy the generated imageYocto recipes structure
- Recipe architecture
- Tasks
- Task dependencies
- Recipe dependencies
- The bitbake language
- Standard variables and functions
- Classes and recipes
- The base Yocto classes
- Main bitbake commands
- Build system objectives
第二天课程目录
- Writing package recipes for Yocto
- Various kind of recipes and classes
- bare program
- Makefile-based package
- autotools-based package
- u-boot
- kernel
- out-of-tree module
- Recipe creation strategies
- From scratch
- Using devtool
- Using recipetool
- From an existing, similar, recipe
- Debugging recipes
- Debugging recipe selection
- Debugging dependencies
- debugging tasks
- Defining packaging
- Package splitting
- Automatically starting a program (class update-rc.d)
- Various kind of recipes and classes
- Modifying recipes
- Customizing an existing package recipe (.bbappend)
- Recipe dependencies
- Creating and adding patches
- Creating a patch for a community-provided component
- Creating a patch for an user-maintained component
- Defining new tasks
- Task declaration
- Coding tasks
- Customizing an existing package recipe (.bbappend)
- Development process using the extensible SDK and devtool
- Using devtool to create a package and its recipe
- Using devtool to modify an existing package and recipe
- Using devtool to update a recipe to build a new version of a package
第三天课程目录
- Creating new kinds of recipes
- Creating classes
- Creating new, independent, classes
- Inheriting from an existing class
- Creating classes
- Creating a root file system
- Building a root file system with Yocto
- Creating a custom root file system
- Writing an image recipe
- Selecting the packages to build
- Selecting the file system types
- The various kinds of images
- Inheriting and customizing images
- Customizing system configuration files (network, mount points, …)
- Package management
- rpm
- opkg
- Building a root file system with Yocto
- Writing tasks in Python
- Introduction to python
- Using python in Yocto
- The main bitbake classes
- Defining variable values in Python
- Writing tasks in Python
第四天课程目录
- Porting Yocto
- Porting Yocto to a new board
- BSP architecture
- Selecting and configuring u-boot recipe
- Selecting and configuring kernel recipe
- Adding a new BSP layer (yocto-bsp create)
- Adding a custom u-boot to Yocto
- BSP architecture
- Customizing the Yocto kernel recipe
- Setting the default configuration
- Providing a defconfig
- Providing configuration fragments
- Adding patches
- Specifying the kernel sources
- Setting the default configuration
- Porting Yocto to a new board
- Tailoring the build system
- Setting up a Yocto source cache
- Local, per system, cache setup
- Setting up a global, network wide, cache
- Customizing the build system
- Using a prebuilt toolchain
- Using a pre-compiled kernel
- Optimizing Yocto build times
- Using prebuilt, binary, packages
- Using shared compilation caches