Framework for building installable images
The Yocto framework can be used to build installable images for embedded Linux applications, containing the root file system, kernel, device tree and bootloader.
It starts by building the SDK used to generate all components. This way the image becomes independent from the build host and stays reproducable and consistent over time.
Compared to buildroot, it is more complex, but offers a more modular approach, being able to generate update packages instead of just building a monolithic image. It is also designed to easily derive the configuration for one board from a similar board.