There are several different procedures. Apart from the so-called Build Your Own Linux, you can either use an existing distribution, create your own distribution or use Mainline Linux.
No matter how you decide, we support you in each of the desired approaches. And the good thing for you - regardless of how the BSP is to be developed, you can immediately start with your application development. Because Linux offers you a stable system call interface, so you don't have to adapt your code.
Usually a System-on-Chip (SoC) or a module based on it comes with a Yocto distribution. The module manufacturer often takes the Yocto solution of the chip manufacturer and extends it with support for his module. On this basis you can start immediately. However, the kernel is often not a current Linux kernel, but a kernel extended by many patches, which the chip manufacturer has selected (and of which only he knows how long he will provide support).
When it comes to the product, the requirements become more precise - small footprint, minimum number of software components, supported interfaces, mainline kernel, realtime capability and minimalistic power consumption, hardened Linux, update capability, life cycle support etc.
To meet all these requirements, it is recommended to use mainline Linux kernels with long-term stable support. And build the root file system based on the proven Debian distribution (although specific customizations are always possible). The advantage of this approach - updates and security patches are quickly available and easy to integrate.
With this bottom-up approach only those software and libraries are used that you need. No more, no less. And with our ELBE tool, building is fast, easy and efficient without all the problems of the "build your own approach".
Reproducible, consistent builds are always possible thanks to mirrored source code repositories. This also applies to old versions whose code has already been removed from upstream projects.