Yocto compiles everything from source code. Following are the stages Yocto following to prepare binaries / packages from the source code.
The above diagram is self explanatory to understand how yocto works conceptually and build everything from the source code.
- Yocto basically goes on downloading the source code from different servers like http or git (fetch / download stage)
- Once the download is completed, it has to verify if the download is successful or not before going further. Verifying successful download currently can be done using md5 checksum which is “Verify Checksum” stage. Once the predefined checksum is matched with the downloaded source codes checksum, Yocto successfully proceeds to next stage.
- Now, Yocto is sure that the downloaded source code is all good, then it proceeds with extracting the source code ( extraction happens normally it code is .zip or .tar or .tar.bz2 )
- Once code is extracted and if there are extra patches available in bitbake recipes, Yocto proceeds with applying those patches so the code is all most recent with all the changes we want the code should have.
- Once code is patched, the next stages are all compilation stages ( First Configure i.e. prepare for compilation, then perform actual compilation and install the binaries to file system and do the packaging )
Supported types of packages (last stage) by Yocto are
- deb for debian style deb files
- ip’ for ipk files are used by opkg (a debian style embedded package manager)
- rpm for rpm style packages