The software of embedded systems is growing more and more complex. Their life cycle management is correspondingly complex. In the case of Linux-based embedded systems, for example, the maintenance of software is an often underestimated effort. Creating a Linux-based Board Support Package (BSP) primarily means integration work. Many quite different third-party components are integrated. Often, also software with a very high complexity is involved. The chance that parts of these components will receive performance optimisations or security fixes over the product lifetime is very high. Continuous maintenance is therefore necessary. And bringing a system into the field without the possibility of software updates must be considered grossly negligent from this point of view. (See also the topic OTA Update).
The maintenance concept for a product begins with the selection of the appropriate Linux kernel. The decision-making process usually starts with determining whether the version provided by the manufacturer or the so-called mainline version, i.e. the unmodified Linux variant from the community, is to be used. Those who use the mainline version of Linux can rely on the maintenance concept of the community. For each kernel release there are the so-called stable versions, which provide critical bug fixes. Some versions even receive longer maintenance. These are so-called long-term releases. These are supplied with bug fixes for at least two years, some even significantly longer.
Yet developing a Linux-based product involves not only customising the operating system kernel, but also assembling, configuring and reproducibly packaging it as a complete system. Assembling such a system is an extensive and complex task. In the desktop and server world, people have therefore been using proven and well-maintained Linux distributions for more than 20 years. In the industrial environment, on the other hand, technologies have been established, with the help of which the user creates his own Linux distribution for the respective target system. Usually this implies a cross-translation of all software components used. This approach does definitely not offer a technological advantage. On the contrary, such an approach is very time-consuming and error-prone. The creation of custom Linux distributions is mainly historical. Because, for a long time, the established Linux distributions were not available for all CPU architectures.
Besides the basic maintenance aspects, a completely different challenge must be solved in the industrial environment: the long product life cycles. The mere availability of software updates is not enough. Also the basic technology used, i.e. the Linux distribution, must be available on the market for many years. The Debian project was launched as early as 1993 and has experienced steadily increasing popularity ever since. In addition to its use on desktop and server systems, its spread in the industrial environment has also grown steadily in recent years. The long project history, a large developer community and many users from different application areas also guarantee extensive maintenance and further development in the long term. In addition, there is the Debian LTS project, which ensures that all Debian releases are maintained for at least five years. Not least because of this, projects for critical infrastructures also rely on Debian, such as the Civil Infrastructure Platform (CIP) of the Linux Foundation.
If you wish, we can extend the duration of the LTS or RFS for you. Contact us if you would like to learn more about such a solution.
In addition to these components, which are used on your system, the infrastructure such as toolchain etc. must also be maintained and serviced over the entire lifetime. We can also take care of this within this context.
A professional build system (e.g. ELBE) helps to maintain the infrastructure throughout the life cycle and to ensure quality by means of suitable automated tests (keyword: continuous deployment). We either keep this test system for you or you can obtain it from us (and have it maintained). If you wish, you can transfer the entire test and release management to us. We are also happy to work with you to develop specific solutions for your specific requirements.
A very important, additional and new aspect is security monitoring. This is a topic that used to be unknown in the embedded sector. But its importance cannot be overestimated. We at Linutronix monitor all components of your BSP on the relevant security platforms and evaluate the possible risks in terms of their impact on your product. You will regularly receive a corresponding security report from us with advice on the use of appropriate patches or an update of your system. Of course, if the risks are high, you will receive immediate information on how to proceed, including the necessary patches.
In consultation with you, we will be prepared to integrate the patches and updates into the BSP and verify the functionality and quality of your new BSP with the jointly agreed test procedure. The result is always a system that offers maximum security, includes the latest improvements and is available at the exact time you specify.
In the context of our Industrial Grade Linux (and its variants such as Secure_OS), Linutronix also offers subscriptions for the continuous maintenance, care and update of the BSP.