Jump to content

Build Systems

From eLinux.org

Here are some different build systems for creating embedded Linux systems

Major

  • Open Embedded - System for building full embedded images from scratch. Note that this is used by the Yocto Project as its build system (but see note below for more detail).
  • Buildroot - Easy-to-use embedded Linux build system
  • OpenWRT Cross-Compilation Toolkit mainly geared towards wireless routers but can be extended to other platforms, with support for x86, MIPS and ARM.
  • Yocto Project - The Yocto Project is an umbrella project which uses Open Embedded as its build system.
    • I have heard it argued that the Poky meta-data for Open Embedded actually constitute the primary build system for the Yocto Project. Since Open Embedded somewhat conflates the package data and the build scripts in the recipe files, there is some truth to this.

Others

Older systems

These are possibly obsolete:

  • LTIB - Linux Target Image Builder (by Stuart Hughes of FreeScale) - see http://savannah.nongnu.org/projects/ltib
    • Slides and video of a talk on LTIB at the Ottawa Linux Symposium 2008
    • last release was in 2010
  • OpenBricks - Embedded Linux Framework
    • OpenBricks provides a set of packages, patches and shell-based rules that creates a toolchain and a rootfs with customized packages and features selection.
    • Currently supports x86_32, x86_64, PowerPC, PowerPC64 and ARM architectures with either uClibc, Glibc or eGlibc C library.
    • openbricks github repository
      • last commit was in 2021

Resources

Here is an article comparing different ways of building embedded Linux systems (YP, buildroot, OpenWRT, and desktop distros)

  • Building Embedded Userlands - Presentation by Ned Miljevic & Klaas van Gend at the ELC 2008 which compares different configuration and build systems. Video of the conference available.

See also Toolchains