Debian is one of the earliest and most comprehensive Linux distributions on the market. Debian offers an enormous number of precompiled packages for different CPU architectures: x86 (32-bit and 64-bit), ARM (with and without hardware floating point unit), PowerPC, MIPS and many more. The large number of supported architectures makes this technology particularly interesting for the embedded environment.
Based on binary packages (available from the Debian Mirror Servers), the user easily builds a BSP by simply assembling it.
ELBE Build System - Overwiew
The promptness of obtaining a (first) BSP in this way is at the expense of flexibility. You have to accept the packages in their binary form as they are. To address this and give the user full flexibility over his BSP while using Debian, Linutronix has developed the tool ELBE (Embedded Linux Build Environment). With ELBE, a build process for a target system looks like the figure above.
To put it simply, ELBE allows you to recompile each component, including your own software, and store it as a Debian package. You do this in a virtual machine, natively or cross-translated. The native translation solves many of the problems that can arise in cross-platform builds as a result of dependencies. The RFS itself can be created for many different media (SDcard, NAND, network, etc.), regardless of the method chosen for creation.
All important information, configurations etc. are stored in an XML file. This also allows ELBE to easily reproduce the target image. The XML file in ELBE is what the collection of recipes, layers and meta-layers is in Yocto, just more clearly arranged and clearly recognisable in its effect (no overwriting by later recipes or layers).
With ELBE, you can use the flexibility and configurability, which are otherwise characteristic of the Yocto approach, to use an enterprise distribution for your embedded project. Get quality and diversity for your project.
Long product life cycles require not only the use of the longest possible basic technology, but also the capability to reproduce any software status at any time. With ELBE, you therefore not only create a Debian installation adapted to your intended use, but you can also restore it at any time, for example to solve a support request.
Easy Image Generation
Another major challenge in the industrial environment is dealing with many different (boot) storage media, such as NAND, NOR or eMMC. Apart from the use of different file systems, this also requires the generation of different image formats. For example, when using NAND or NOR Flash, the so-called UBI layer must be used. ELBE therefore offers extensive functions for image generation.
The result of an ELBE build process is not only a resulting file system, but a ready-to-use image that can be put to use in production!
Application Development / SDK
When developing your own application, you need a toolchain that is adapted to the distribution of the target system. This is important to ensure that the library versions used during development are exactly the same as those used on the target. The ELBE SDK feature can be used to create a cross toolchain that is adapted to the target system. You decide which procedure makes the most sense for your application: Native compilation or the classic cross-compiling of an application (or both).
When using open source-based software, not only technical aspects need to be taken into account. In addition to the various obligations that licences impose on the user, it is particularly important to have an overview of all licences in use. Of course, ELBE also supports the user with regard to licensing aspects. With ELBE, an ISO image with all associated source packages can be generated for each build process, which can be enclosed with the product. Furthermore, a file is generated with all licences used and the respective licence texts; the established SPDX format is also supported here.
ELBE is an open source solution, you do not enter into a vendor lock-in. We support you with all the necessary services so that you can successfully use Debian in your project. This includes, among other things, the creation of Debian-based BSPs, training and workshops on the ELBE build system, and, of course, the maintenance of your distribution.