A quick glance at yocto
What is yocto ?
yocto is a linux image build system. Which mainly be used to build embedded linux distribution.
The core components of the yocto are :
- Build engine : bibake which used to compile package and build the distribution
- Configuration layers : OpenEmbedded-Core which used to guide the Build engine how to compile each package
- Reference system : poky which contains build engine, configuration layers and other useful tools/
Why we need yocto
Linux is the dominating operating systems in the embedded markets. A survey by AspenCore in 2017 show the un-suprisingly result. Linux is great for soft-realtime but for hard-realtime operating system, Linux is not that strong compare to RTOS. This is the result why there’re a big pie in embedded markets occupied by RTOS.
When we develop embedded system, we always face the followings problems. This result in a neccesary of customizing the OS of our embedded system.
- We want to add new drivers
- We want to compile some piece of software using prioerity toolchain.
- We want to cut off unescessary things
- We want to add some firmware-on-the-air
- We want to control everything
Customizing the OS of embedded system could be done in 3 ways:
- Building everything by hand
- Using binary image supplied by hardware-maker
- Using build system
Using binary image supplied by hardware-maker is hard to customize and come in very big filesystem size. Building everything by hand is very messy and will cost tons of time and effort. Compare with those two approach, using yocto will have the followings pros. (Source : slide)
yocto is a very large projects and contains tons of manual and documents. Which is very detail and very difficult to follow.
I personally think that the best way to learn yocto is through practice. So i make some yocto tutorial here. First to summarize my know-how in using yocto, Secondly hope that this tutorial could help somebody. So in the next post, i will go into further detail about yocto and how to use it.