You will need a build host machine running a modern linux distro, more than 50GB of free disk available and a fast internet connection. We will go through the process of adding the required bsp to build poky with our chosen target. This one models real hardware with SD Card memory as the only storage option available. I choose the QEMU vexpress-a9 target which is a model of Arm Versatile Express development board. However, that board is not interesting for me to play with since I will not gain any knowledge in creating a bsp (board support package) for real hardware targets. It supports modern buses and peripherals like PCI and PCIe. The virt machine is a modern virtual platform that does not correspond to any real hardware. Poky supports QEMU by default and already has the required recipes for the 'virt' target.
Poky is a distribution provided by the Yocto project that provides a base level functional distro and build system which can be used to illustrate how to customize a distro as well as being a good starting point for your own custom distro. In this article I will go through the process of building an image for the vexpress-a9 target and all the additional tools and configurations needed to make the final image as close as possible to how a real hardware platform will look like. The project provides a standard to deliver hardware support or software stack in a scalable way.Ī recipe contains configurations and patches required to cross-compile, install and deploy a component in the final build.
It is configured by a set of recipes contained in a set of layers. The Yocto project is a build system that cross-compiles your custom embedded linux distribution without the hassle of building every component (bootloader, kernel, device tree, root filesystem, c library and so on) by yourself.