Operating system platforming

Welma is a cross-platform software for embedded Linux devices.

Platforming is the art of sharing software or hardware building blocks to create a common base.

The goal? Optimize development costs and, above all, maintenance costs.

In the hardware world, this means using a common module across multiple product lines, with different motherboards. This approach capitalizes on a single processor and, by extension, requires a similar logic on the software side: platformize the operating system (OS).

That’s where Welma comes in. Welma is a core platform based on Yocto, designed to share generic functionalities across multiple products. This approach provides a platform vision at the scale of a single product, but also across multiple customers, with a broad generic base.

Why platforming matters?

Yocto, a robust foundation for platforming

Yocto is designed for modularity and reuse, making it an ideal tool for platforming. Welma fully leverages its concepts:

  • Metalayers: Layered organization to isolate generic features from specific adaptations.
  • Recipes and BBAPPENDS:
    • A recipe defines default behavior.
    • BBAPPENDS allow overriding or adding specific parameters without breaking the generic logic.
  • Machines:
    • Yocto defines “machines” for each hardware.
    • Welma builds on these definitions to create minimal adaptations in Meta-Welma-Hardware.

Read more in our article on What is the Yocto project?

Why is this so powerful?

  • A single base (meta-welma) for all platforms.
  • Targeted overrides to meet specific needs.
  • An architecture that anticipates product evolution and sourcing constraints.

How Welma leverages Yocto to propose a modular and scalable platform

Welma is built on an architecture designed for sharing and flexibility. It relies on Yocto’s metalayer concept, which separates generic functionalities from hardware-specific adaptations.

The main layers of Wema include:

1. meta-welma (core generic layer)

This layer is the foundation of the platform. It includes all the cross-functional features essential for most products:

meta-welma is hardware-independent, ensuring maximum reuse and simplified maintenance.

See the list of all supported hardware here.

2. meta-welma-hardware (specific adaptations)

This layer complements the core by adding parameters specific to each hardware platform:

  • Memory layout and partition definitions.
  • Integration of specific drivers and low-level configurations.
  • Handling SoC constraints (for example: i.MX8 → flash structure, storage zones, update hooks).

Thanks to this layer separation, integration effort is minimal, and the generic logic remains intact. This allows for minimal specifics, maximum generic, in other words simplified maintenance, fast integration on new hardware, and full support for dual sourcing.

Conclusion

For any manufacturer with a medium- or long-term product vision, the question isn’t “Should we build a platform?” but “How should we structure it?”

Welma offers a path to answer this by delivering:

  • A robust generic foundation.
  • Flexibility to integrate your specifics via your own metalayers.
  • An architecture built to last, backed by years of experience.

Sharing costs, maintenance, and know-how: that’s platforming.