Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Best Yocto Poky Bitbake Ever
Rating: 3.4 out of 5(6 ratings)
45 students

Best Yocto Poky Bitbake Ever

Yocto Bitbake Poky Embedded Linux
Created byMike jiang
Last updated 1/2024
English
English [Auto],

What you'll learn

  • Foundational Knowledge: Grasp the core concepts of the Yocto Project, including its architecture, components, and workflow.
  • Hands-On Skills: Learn to set up the Yocto environment, create custom layers and recipes, and manage configurations with ease.
  • Customization Techniques: Dive deep into customizing your Linux kernel, adding new packages, and optimizing your build for performance and size.
  • Real-World Applications: Apply what you learn through practical examples, projects, and tips on debugging and troubleshooting.
  • Expert Insights: Benefit from the knowledge of seasoned experts who will guide you through best practices and advanced techniques.
  • How to build a basic embedded Linux system image and add layers and recipes into a exist Yocto build
  • How to do a embedded software development and customize your embedded Linux system image

Course content

1 section38 lectures3h 35m total length
  • Introduction of Yocto5:42

    Big Introduction !

    • What is Yocto ?

    Answer->Yocto is a CONCEPT !! to build a embedded system image.


    • What are bitbake and openembedded?

    Answer->bitbake tool and some of basic general layers are maintained by an organization ,which is Openembedded, who make your life more easy.


    • What is Poky ?

    Answer->Poky is a reference implementation of Yocto.Poky implementation using bitbake as a tool to build may layers(layer including recipes for software packages) to generate your embedded system linux image.


    So if you download repo poky from github

    it will have bitbake and many general layers ready to you to generate a basic linux image system image, you would follow some instructions online ,and use a simulator to run this image. if you generate appropriate.


  • Introduction of Bitbake + Openembedded6:01

    Big Introduction !

    • What is Yocto ?

    Answer->Yocto is a CONCEPT !! to build a embedded system image.


    • What are bitbake and openembedded?

    Answer->bitbake tool and some of basic general layers are maintained by an organization ,which is Openembedded, who make your life more easy.


    • What is Poky ?

    Answer->Poky is a reference implementation of Yocto. Poky implementation using bitbake as a tool to build may layers(layer including recipes for software packages) to generate your embedded system linux image.


    So if you download poky from github

    it will have bitbake and many general layers ready to you to generate a basic linux image system image, you would follow some instructions online ,and use a simulator to run this image. if you generate appropriate.

  • Introduction of Poky7:31

    Big Introduction !

    • What is Yocto ?

    Answer->Yocto is a CONCEPT !! to build a embedded system image


    • What are bitbake and openembedded?

    Answer->bitbake tool and some of basic general layers are maintained by an organization ,which is Openembedded, who make your life more easy.


    • What is Poky ?

    Answer->Poky is a reference implementation of Yocto. Poky implementation using bitbake as a tool to build may layers(layer including recipes for software packages) to generate your embedded system linux image.


    So if you download the poky from github

    it will have bitbake and many general layers ready to you to generate a basic linux image system image, you would follow some instructions online ,and use a simulator to run this image. if you generate appropriate.

  • Poky structure explanation(yocto)7:04

    Poky is reference design of yocto, I am trying to explain to you that what things are in poky , and how do we use it build the custom linux system.

  • How to add your own layer2:49

    Show you how to create your own layer- meta-mylayer, and how to build the example with bb recipe file.

  • Copy reference helloworld recipe from meta-skeleton6:01

    Copy over the meta-skeleton helloworld example to my own meta-layer and build it , verify it with runqemu runqemuarm64

  • Create a helloworld based on makefile to build6:47

    Create helloworld program based makefile, and create a recipe in poky to support build it.

  • Create a helloworld based on cmake to build5:18

    Create a helloworld based on cmake with recipe to build it in poky

  • Create a helloworld based on configure,make, make install to build6:54

    Create a helloworld based on configure,make, make , create a recipe to build it

  • Devtool create a cmake hellopoky local project to build7:12

    Devtool is a very useful tool in poky yocto, this example to show you how to add a cmake hellopoky project to meta-mylayer.

  • Devtool create a cmake test_app git project to build5:26

    Devtool create a github project test_app which is cmake base into build

  • Devtool deploy project to qemu to test5:20

    How do you deploy your program to qemu to test, and how do you undeploy it after test.

  • Devtool modify open source project generate patch and update bbappend recipe to10:05

    How to use devtool to modify source code and create patch,recipe update to meta-mylayer.

  • Devtool create a new workspace , and how to switch back to default workspace2:40

    Devtool create a new workspace , and how to switch back to default workspace

  • Devtool generate multiple patches and update bbappend recipe6:46

    Use devtool to change the open source project (alsa-utils) generate multiple patches and update bbappend recipe to poky (yocto)

  • Devtool upgrade package software to new tag version4:05

    Use devtool upgrade software package from github to new tag

  • Toaster- a webserver gui for poky yocto. really cool4:51

    I like this toaster could show you in GUI in browser.

  • Poky yocto conf folder and machine folder explain5:01

    How poky yocto generate conf files and machine configurations

  • Bitbake -e variables to show you information of the package6:41

    Show variables to help you debug and get information

  • Bitbake, fetch unpack patch prepare_recipe_sysroot configure compile5:55

    When you run bitbake on a package , how many general steps will run

  • How to control and add build and compiler flags when doing bitbake3:36

    There are couple ways for we to make software in linux

    1-./configure

    2-cmake

    3-makefile

    4-gcc directly compiler

  • Ovewrite do_xxx function, Variables affect rootfs image.and SDK generation8:42

    We know that poky yocto build software package with recipes , and each build will have many steps , you could overwrite those steps funcitons. There are couple variables you could add your packages in to generate rootfs. poky yocto could generate a stand alone SDK to other computer to compile software

  • Devtool upgrade github repo to latest tag4:05

    Use devtool to upgrade tag to latest version 7

  • Toaster webserver GUI tool5:04

    How to use the web browser to access toaster , even you at different computers. very friendly GUI to access poky yocto system

  • Poky folder structure , explain recipes , conf, class.5:01

    Give you a basic where are those files are , and what are the features of those files.

  • Environment variable when you do bitbake -e xxxxxx6:40

    When you have error , at least you could use this bitbake -e command to check many environment variables to see whats going on, it is very useful command.

  • Bitbake build process, clearnall, fetch, unpack etc5:24

    explain the major process of build by bitbake

    cleanall

    fetch

    unpack

    patch

    prepare_recipe_sysroot

    configure

    compile

    install

    etc

  • How to add flags when you build package3:36

    EXTRA_OECONF (when you use configure;make;make insall)

    EXTRA_OECMAKE(when you use cmake)

    EXTRA_OEMAKE(when you use makefile)

    CFLAGS CFLAGS:append

    CXXFLAGS:append

  • How to overwrite do_xxx fucntion, generate sdk and use sdk to compile test progr8:42

    1 overwrite do_xxx

    2 do_package would do different package for different system RPM DEB IPK

    3 how to generate sdk , and others could install their computer to develop their program.

  • Excited ! KERNEL !! kernel recipe (linux-yocto) explain7:16

    How to find linux kernel recipe , and which one is right version you need to know

  • Kernel source code modification with devtool5:11

    How to modify the kernel source and generate a patch for it.

  • Kernel hello.ko module4:08

    How to add a hello.ko module by using the skeleton code and recipe.

  • Require , inherit , DEPENDS in recipe file4:01

    Explain what are those 3 key words in recipe files.

  • how do we write fucntions in recipe file(shell function, bitbake function,python5:29

    recipe files support 3 types of functions

    shell function

    bitbake function

    python function

  • How many ways to fetch software3:20

    local recipes folder

    local folder out of poky yocto

    github

    tar.gz from online

  • Use locate and updatedb command to search files6:59

    use updatedb build database then use locate to search the files way more fast than find command

  • Customize conf folder when you create the build4:50

    Usually when you run source oe-init-build-env, it will create a conf folder under the build folder. this video shows you how to create your customize one.

  • Customize distro configuration folder when you create the build5:22

    We dont want change original poky yocto always just too much hard to maintain, so we add all customized configuration files to meta-mylayer, and make easy to maintain.

Requirements

  • Basic understanding what is a embedded Linux
  • Difference between CPUs and CPU architectures
  • Basic C language programming
  • Basic recipe concept
  • Better to know bitbake
  • Basic understanding what is cross compiler, and what does it do

Description

The Yocto Project is an open-source collaboration project that provides developers with tools, templates, and methods to create custom Linux-based systems for embedded devices. It's not a Linux distribution; instead, it allows the creation of custom distributions tailored to specific needs. The project is designed to make it easier and more reliable for developers to create and maintain embedded Linux distributions, regardless of the hardware architecture.

At the heart of the Yocto Project is the BitBake tool and the Poky reference distribution, but it encompasses various components and tools such as recipes, layers, and classes that work together to automate the tasks involved in building a Linux distribution. Recipes describe the software packages, including where to find the source code, how to compile it, and how to install it. Layers organize these recipes and can be used to separate the cross-cutting concerns, such as board support packages (BSPs), user interfaces, and applications. This modularity allows developers to reuse code and maintain a clean separation between different parts of the system.

The Yocto Project supports cross-compilation, enabling the development of software on a powerful host machine that can be run on the target embedded device, which might have limited resources. It also provides an extensible framework that developers can customize to include the exact pieces of software needed for their project, optimizing the size and performance of the resulting system.

Through this course, learners will gain hands-on experience with setting up the Yocto Project environment, creating custom layers and recipes, working with existing layers, customizing the kernel, developing applications, and finally, generating and debugging images for their target devices. The course will demystify the complexities of the Yocto Project, making it accessible and practical for developers looking to streamline the development of their embedded Linux systems.

Who this course is for:

  • College students/new graduates
  • High-level language developers (python, java, app developers). who curios for embedded development environment
  • Recent graduates with 1-2 years experience
  • Java script/web developers. who wants learn more linux development environment
  • Who are interested in gaining practical hands-on experience to use linux operating system
  • Anyone is interested in embedded development system
  • Anyone who wants in the end to make your own devices
  • Who wants prepare to an embedded software position interview , this will extremally for you