
Understand basics of using Yocto project for embedded Linux development.
Learn how to install software components for setting up the yocto project on host system.
Learn how to get the source code for building embedded Linux images with the yocto project
Learn how to build an x86 32 bit command line based image which can be used with qemux86 emulator.
Learn how to create GUI based sato image which can be run on qemux86 emulator.
Learn to build a minimal image which can be used to boot a Beaglebone Black board.
Understand the concepts of poky distribution,layers,recipes,meta data etc.
Explore and understand the structure of important layers in the poky source.
Learn how to create a new yocto layer manually.
Learn how to create new layer using bitbake tool.
Understand few recipes which comes part of the poky distribution.
Learn how to create new recipe for adding to images.
Understand images in yocto project
Learn how to create new image using bitbake tool
Learn basics of Bitbake tool.
Learn how to get help for bitbake commands.
Learn how to find recipes using bitbake tool.
Use bitbake tool to build recipe.
List all the tasks used by a recipe.
Learn to remove all build files generated during build operation.
Learn how to find the source code path using bitbake tool.
Learn how to find the working directory path of a package using bitbake tool.
Learn how to force run a task with bitbake.
Learn how to run a single task for a recipe with bitbake tool.
Learn how to get more debug logs when using bitbake tool.
Learn how to launch the development shell using bitbake tool.
List tasks and dependencies with bitbake tool.
Learn how to create and build a basic helloworld application and integrate it with the cor-image-minimal image .Learn how to use the image on qemu86 emulator.
Learn how to use autools with the yocto project.
Learn how to add a helloworld application using Cmake with yocto project.
Learn how to develop helloworld application using Makefile with yocto project.
Learn how to use static library and add test application to test the static library.
Learn how to create dynamic library and test it with a test application.
Learn how to generate Standard SDK for application development.
Learn how to install eclipse for application development with yocto project.
Learn how to use the yocto eclipse plugin to compile a simple helloworld application with the yocto project.
Learn how to generate extensible SDK for application development.
Learn how to use devtool to modify existing functionality.
Learn how to add new functionality using devtool.
Learn how to setup Toaster for building images.
Learn how to start toaster for building images using web interface.
Learn to use toaster and run command line build.
Learn to use toaster to do a GUI based build.
Learn how to use traditional kernel recipe using kernel source from kernel.org
Learn how to add a kernel module using configuration fragment.
Learn how to add Kernel module and new filesystem using configuration fragments with linux-yocto kernel.
Learn how to add a new kernel feature using configuration fragments and linux-yocto kernel.
Learn how to generate configuration fragment using menuconfig and add a new feature using the configuration fragment generated.
Learn how to build and boot a custom kernel recipe.
Learn how to include kernel module with configuration fragments and auto load the module at boot time.
Learn basics of Board Support Package(BSP) layers.
Understand BSP layer of x86 based boards.
Learn how to build a minimal image which can be used to boot a Raspberry Pi 3 board.
Learn how to boot the Raspberry Pi 3 using SD card image.
Understand BSP layer of Raspberry Pi 3 board.
Understand BSP layer of Beaglebone black board.
Understand how to use package management tools with yocto project.
Learn how to use package management with OPKG package manager.
The Yocto Project is ideal for rapid prototyping and provides the tools and processes required to develop an embedded Linux-based product. The collaboration has widespread support from leading hardware manufacturers, open-source operating systems vendors, and electronics companies looking to address the challenges of developing embedded technology. This course has been designed to help you understand how to use the Yocto Project tools to manage key components of a Linux distribution: toolchains, bootloaders, kernels and package management systems.
The course is divided into eight sections.
Section 1 : Introduction to Yocto Project
In this section students will learn how to setup Yocto build environment, build and run minimal image and GUI based images for x86 target, build a minimal image for Beaglebone Black board.
Section 2: Understand Yocto build system components
In this section students will learn concept of Yocto recipes,packages,images . Additionally you will learn how to create new recipes,layers and images. Analysis of a few recipes and layers are also included in this section.
Section 3: Understand Bitbake Tool
This section's focus is on understanding how to use the Bitbake tool to perform various tasks when using the Yocto project.
Section 4: Application Development
In this section students will learn how to develop applications using the Yocto project.Students will learn how to use various recipes to create basic application, CMake based application, Makefile based application, Autotools based application. Students will then learn how to create static and dynamic libraries using recipes and write recipes to create test applications to test the created libraries. Students will then learn how to create standard SDK and use it with Eclipse IDE. Students will then learn how to generated enhanced Software Development Kit (eSDK) and how to use it using the Devtool. Finally in this section , students will learn how to use Toaster to create images using web interface.
Section 5: Kernel Development
In this section students will learn how to work with different types of kernel recipes. Students will start with using the traditional kernel recipes. Students will then learn how to use yocto-kernel recipes and finally custom kernel recipes. Students will learn how to customize kernel images, edit kernel source code,enable kernel features using configuration fragments. Example recipes for adding kernel modules are also added to this section.
Section 6: Board Support Package (BSP) Development
In this section students learn how to develop BSP packages with the Yocto project. Students will analyze BSP layers for x86 , Beaglebone Black and Raspberry Pi boards to understand concept of BSP layers. Students will also learn how to create new BSP layers . Student will learn how to use the BSP packages created and boot it on x86 emulator,Raspberry Pi and Beaglebone Black targets.
Section 7: Package Management
In this section students will learn how to use package management when developing software applications with the Yocto project. The main focus of this section will be to try and use OPKG package manager.
Section 8: Application Debugging
In this section students will learn how to debug application developed earlier in section 4. Students learn how to debug application using Eclipse IDE and gdbserver.