How Linux Accelerates Multi-Discipline Development Efforts and Strengthens Businesses

Posted on May 1, 2020 by Matthew Russell

Most developers have seen the diagram before: quality, speed, or cost-effectiveness. You can only pick two.

This common technical assumption is invoked far more often in casual conversation than in contractual agreements, likely because it’s not always true, least of all with the rapid development potential and supportive ecosystem of Linux.

Linux is open source, which makes it cost effective. It is supported by an ever-growing community that can reduce the initial friction of learning a new technology, and it’s capable of enabling many different products.

Your smartphone, for example, is itself a microcosm of interconnected Linux-based applications, from the app that controls the IoT-enabled lights in your home {as well as the lights themselves) to the data servers that store the videos you stream, the websites that let you stream them, and the operating system and applications that run on the embedded technology within. Linux is used in the development of many other solutions that DornerWorks, a member of the Linux Foundation, has helped its customers use to strengthen their own businesses.

Using Linux as a foundation for embedded systems

Not all CPUs are equal, and as such, not every device or dev board is suited to running a full-featured OS like the Linux Ubuntu or Mint distributions intended for desktop and laptop computers. Linux’s flexibility and complete configurability make it easy to overcome this challenge, one of the reasons why the Open Handset Alliance has used a Linux kernel variant in Android mobile operating systems.

DornerWorks crash data recorder.
The crash data recorder developed by DornerWorks consists of a robust sensor data logging system in a ruggedized case.

For small or embedded devices, product prototypes and niche applications, customized distributions can be created to run on even the tiniest embedded systems using Yocto Project, another open source tool that can help accelerate product development while meeting budget constraints.

DornerWorks has supported several projects for aerospace and defense products that keep modern warfighters safe and aware of their surroundings using Yocto Linux deployments that enable mission-critical networking solutions.

Using Linux for the Internet of Things

Similarly customized Linux distributions are used in IoT systems. According to Anthony Boorsma, DornerWorks Engineering Group Manager, IoT and Medical Solutions, you don’t have to look far to find Linux supporting a cloud server, gateway, node, or edge computing device.

Dexter Laundry differentiated its products from the competition by connecting their machines to the IoT.
Dexter Laundry differentiated its products from the competition by connecting their machines to the IoT.

An industrial washer and dryer manufacturer wanted an IoT solution that would work for its commercial laundry business across multiple product lines, while providing a level of functionality within a certain price point. The legacy embedded systems previously developed for the company by different contract manufacturers could already connect the machines to the IoT infrastructure, but improvements to those systems were held back by vendor lock and design incompatibilities.

When developing its next generation of machines, the company came to DornerWorks and wanted to validate its product concerns through collaborative development. The result was a web-connected hardware and software control platform based on open source Linux, which enabled real time control of the machine and connectivity via USB, Ethernet, and CAN. In addition to the washers and dryers running embedded Linux, the IoT edge and cloud computing devices these machines interface with to were designed by DornerWorks to utilize server-grade Ubuntu Linux running on Amazon’s Web Service platform.

DornerWorks engineers developed these solutions, from embedded devices all the way up to servers in the cloud, using Linux-based frameworks, which provided a robust and maintainable way to control and configure remote devices as the company expanded its product line to catapult ahead of the competition.

Using Linux for development

Linux is a popular development platform for embedded systems, and has been ever since it was fist released in the 1990s. The open source framework Linux is based on was much more easily accessible to programmers than competing proprietary systems, which has helped to proliferate its own ecosystem of developers ever since.

The virtual machines that run on the Xen hypervisors developed at DornerWorks are capable of hosting many different distributions and operating systems, but they are typically built in a Linux development environment.

DornerWorks engineers often use Linux for development environments.
DornerWorks engineers often use Linux for development environments.

During the build process, developers can use signed containers to contribute their work to a larger application, splitting up the core build from middleware and application code. This streamlines the deployment and debugging process if a container must be rebuilt and redeployed.

One of the most substantial benefits a Linux environment brings to development is the massive catalog of free and open source software available, hindered only by the capabilities of the machine it runs on. This makes Linux an appealing platform for developers in every industry. Some of the most effects-heavy films coming out of Hollywood are made using open source tools like Blender running on Linux machines. In fact, the Academy of Motion Picture Arts and Sciences joined efforts with the Linux Foundation in 2018 to launch the Academy Software Foundation, which is furthering the use of open source tools in filmmaking.

Using Linux in virtualized systems

DornerWorks engineers have been working with virtualized systems like those made possible with Xen Project hypervisors for a good part of the 21st Century. Xen-based hypervisors in particular, like the Virtuosity hypervisor developed by DornerWorks, require a Linux system running in Dom0, the management domain that controls VM intermission.

Engineer Anna Little works with a Xilinx Zynq UltraScale+ MPSoC, a capable platform for virtualized systems.
Engineer Anna Little works with a Xilinx Zynq UltraScale+ MPSoC, a capable platform for virtualized systems.

In aerospace product development, typical ARINC 653 operating system choices are proprietary and costly, leading to a slower pace of innovation and high development costs. DornerWorks developed the Virtuosity hypervisor – a type-1 (bare-metal) virtual machine monitor built to accelerate innovation and lower development costs while keeping safety and security in mind. This hypervisor gives developers the flexibility of open source licensing combined with high levels of safety and security.

Trusted software platforms built using the seL4 microkernel are capable of hosting virtual machines running Linux platforms, shielded behind the enhanced security the microkernel enables. This is one of the capabilities of seL4 that DornerWorks is working to expand. Using Yocto or PetaLinux, a Linux configuration tool specific to Xilinx devices, an engineer can generate the images needed to create virtual machines on an seL4-based system and run them at optimal performance.

Embedded engineer Robbie VanVossen says it’s easier to integrate Linux systems in virtual machines than many other operating systems because developers have been doing the same for a while, the details are well documented, and the tools needed for the job are widely supported.

Using Linux to improve security

Linux can provide added layers of security against common cyberthreats just by the way it handles software components as separate packages with limited system privilege, and that’s only if malicious code isn’t blocked by an IPtables firewall in the first place.

The Linux environment allows developers to deploy software in containers, isolating the processes and resource allocation in one from another. As mentioned above, containers bring resiliency to development, but they can also improve security in embedded systems, mobile devices, and many other products. Splitting software into critical and non-critical containers, for example, can prevent the latter from interfering with the former during use. This feature is especially important for products being built for medical, automotive and aerospace industries where real-time responsiveness is built into design standards.

Security Enhanced Linux (SELinux) provides additional layers of security by restricting what an individual user or software process can do after the standard Discretionary Access Control (DAC) has been performed. It can be configured to strictly enforce security policies for the system, alert users to violations, or be disabled completely. The Red Hat Enterprise Linux (RHEL) distribution includes SELinux enabled by default.

Using Linux as a business strategy

Another valuable case Linux brings to development is the ability to develop products that are open source from top to bottom. This lends itself to a standardized software stack that can be maintained and updated throughout the development life cycle, lower barriers to product adoption, and an accelerated path to generating user feedback.

Grow your business with cost-effective and robust solutions enabled by open source Linux.
Grow your business with cost-effective and robust solutions enabled by open source Linux.

A product stands to pull in more users when its code base and its origins are completely visible and important details not hidden behind a proprietary wall. This reduces the risk that a vendor may one day decide to charge more for critical features. Developers can even add or remove features as necessary, without being on the hook for a lengthy (and costly) contract.

DornerWorks has developed hundreds of solutions using tool sets and operating systems from the Linux family. Not just because open source software is free to download and use, but because Linux makes it possible to develop robust and capable products quickly. It’s the sweet spot developers of all stripes can use to accelerate their own innovation and build products that change their customers’ lives for the better.

As a member of the Linux Foundation, DornerWorks is proud to be expanding the open source community through product development for aerospace and defense, medical, industrial, automotive and consumer markets. If you’re looking for a manageable, supported, and secure foundation for your software, schedule a meeting with us today.

Matthew Russell
by Matthew Russell