Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Embedded Linux using Yocto Part 4
Rating: 4.0 out of 5(328 ratings)
3,873 students

Embedded Linux using Yocto Part 4

Learn Yocto Project in Deep - SState-Cache, Kernel Recipes, Package Groups
Created byLinux Trainer
Last updated 3/2021
English
English [Auto],

What you'll learn

  • Internals of shared state cache
  • bitbake-dumpsig, bitbake-diffsigs

Course content

9 sections51 lectures4h 30m total length
  • Basics4:14

    Compare clean builds that rebuild from scratch with incremental builds that compile only modified code in Yocto, illustrated by a library example using Makefile, arith.c, print.c, and a userspace program.

  • Incremental build in Yocto2:51

    Discover how Yocto enables incremental builds through the shared state cache. Learn how checksums trigger task rebuilds and how unchanged inputs reuse cached artifacts.

  • Shared State Cache2:34

    Explain how the shared state cache enables incremental builds by detecting task-input changes with checksums and reusing pre-built components from the estate cache when inputs stay unchanged.

  • Build Performance10:02

    Learn how a state cache drastically speeds Yocto builds by reusing artifacts and validating checksums, turning hours-long builds into minutes for minimal and graphics-rich images.

  • What is tasks3:00
  • How does shared state cache works1:43

    Explore how the shared state cache in bitbake accelerates builds by using checksums and set-in to decide task reruns, including experiments with an external state cache and rebuild timing.

  • Checksum2:34

    Learn how checksums create a unique signature for a task from the script, inputs, and dependencies on a per task basis to minimize rebuilds.

  • Setscene1:29

    Learn how set scene in Bitbake enables reuse of pre-built artifacts to shorten build time by using a shared state cache, with signatures and checksums to verify artifact compatibility.

  • How setscene works2:40

    Bitbake uses cached information and set scene to reuse pre-built artifacts, placing files in their locations; if unavailable, it runs preceding tasks like do fetch, do unpack, do patch.

  • How setscene works Part 21:55

    Bitbake runs in phases: set scene copies pre-built binaries when available, else builds; it calls a function with tasks and hashes to identify artifacts and copies them, then runs tasks.

  • Stamps4:26

    Bitbake uses checksums and scene data to determine if a task must run, storing signatures in the stamps directory and creating stamp files for each completed task.

  • bitbake-dumpsig4:43

    Learn how to inspect task signatures with bitbake-dumpsig, view the hash-based inputs and dependencies, and verify signature changes to determine whether tasks or images re-run.

  • bitbake-diffsigs3:12

    Generate and compare signature data with bitbake, then use diff seek to see what changed between tasks. Identify changes in configure, fetch, and compile, including MD5 sums and dependencies.

  • SSTATE_DIR0:57

    Control the location of the shared sstate directory with the sstate_dir variable in local.conf, keeping the state cache outside the build folder to enable reuse.

  • bitbake clean tasks3:48

    Explore bitbake clean tasks, including clean, clean all, and clean state, and see how they remove output files, shared state cache, and downloaded sources from do unpack task onwards.

Requirements

  • Development machine with internet connection
  • Should have completed Embedded Linux Using Yocto Part 3 Course

Description

Learn the below concepts by enrolling in this course

  •  What is clean build

  • What is incremental build

  • Example of clean and incremental build

  • Shared State Cache (sstate-cache)

  • Build performance with and without sstate-cache

  • Tasks in Yocto

  •  What's the benefit of per-task over per-recipe approach

  • How does shared state cache works (checksum/signatures and setscene)

  • Commands: bitbake-dumpsig, bitbake-diffsigs

  •  SSTATE_DIR variable

  •  Bitbake Clean tasks: clean, cleanall, cleansstate

  • What happens when you say bitbake target

  • PROVIDES list and what's the benefit of PROVIDES list

  • Bitbake namespaces: recipe names (build time targets) and package names (run time targets)

  • RPROVIDES , virtual targets and PREFERRED_PROVIDER

  • How to select a recipe when multiple recipe of same name and different version exists

  • Yocto Linux Kernel Development (kernel source, configuration, patches)

  • Linux Kernel Recipes in Yocto (PREFERRED_PROVIDER/PREFERRED_VERSION)

  • Creating a new kernel recipe in Yocto

  • Kernel customizations (changing kernel configuration - savedefconfig)

  • Kernel recipe with source code on git repository

  • Patching the Linux Kernel

  • Yocto Linux Kernel Recipes

  • Modifying an existing kernel recipe (configuration fragments, patch, diffconfig, LINUX_VERSION_EXTENSION)

  • Using an in-tree defconfig file (KBUILD_DEFCONFIG_KMACHINE)

  • Difference between general kernel and yocto kernel repository

  • What is Package group

  • Difference between package group recipes and normal recipes

  • Writing a package group recipe (RDEPENDS, RRECOMMENDS, BAD_RECOMMENDATIONS, NO_RECCOMENDS, PACKAGE_EXCLUDE)

  • Recipes for out of tree modules (module.bbclass)

  • Automatically load modules on boot

This course comes with a 30 day money back guaranteed!. If you are not satisfied with the course, you'll get your money back

So what are you waiting for, enroll now and take the next step in increasing your Yocto Knowledge

Who this course is for:

  • Developers who want to learn Yocto in deep