
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.
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.
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 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.
Show you how to create your own layer- meta-mylayer, and how to build the example with bb recipe file.
Copy over the meta-skeleton helloworld example to my own meta-layer and build it , verify it with runqemu runqemuarm64
Create helloworld program based makefile, and create a recipe in poky to support build it.
Create a helloworld based on cmake with recipe to build it in poky
Create a helloworld based on configure,make, make , create a recipe to build it
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 github project test_app which is cmake base into build
How do you deploy your program to qemu to test, and how do you undeploy it after test.
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 workspace
Use devtool to change the open source project (alsa-utils) generate multiple patches and update bbappend recipe to poky (yocto)
Use devtool upgrade software package from github to new tag
I like this toaster could show you in GUI in browser.
How poky yocto generate conf files and machine configurations
Show variables to help you debug and get information
When you run bitbake on a package , how many general steps will run
There are couple ways for we to make software in linux
1-./configure
2-cmake
3-makefile
4-gcc directly compiler
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
Use devtool to upgrade tag to latest version 7
How to use the web browser to access toaster , even you at different computers. very friendly GUI to access poky yocto system
Give you a basic where are those files are , and what are the features of those files.
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.
explain the major process of build by bitbake
cleanall
fetch
unpack
patch
prepare_recipe_sysroot
configure
compile
install
etc
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
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.
How to find linux kernel recipe , and which one is right version you need to know
How to modify the kernel source and generate a patch for it.
How to add a hello.ko module by using the skeleton code and recipe.
Explain what are those 3 key words in recipe files.
recipe files support 3 types of functions
shell function
bitbake function
python function
local recipes folder
local folder out of poky yocto
github
tar.gz from online
use updatedb build database then use locate to search the files way more fast than find command
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.
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.
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.