Scratchbox 2

Scratchbox 2
Original author(s)Nokia
Developer(s)Jolla
Initial release2009-04-01
Stable release(s)
2.2.4[1] / 2012-04-01
Preview release(s)
2.3.90[2] / 2012-09-05
Written inC
Operating systemLinux
PlatformCross-platform
TypeBuild automation
LicenseLGPL 2.1[3]
Websitegithub.com/sailfishos/scratchbox2

Scratchbox 2 (often abbreviated to "sb2" or "sbox2") is a cross-compilation toolkit designed to make embedded Linux application development easier. It also provides a full set of tools to integrate and cross-compile an entire Linux distribution.

Functional description

In the Linux world, when building software, many parameters are auto-detected on the host system (like installed libraries and system configuration), for example through Autotools' ./configure scripts. When one wants to build software for an embedded target by cross-compilation, most auto-detected parameters are incorrect: I.e. host configuration is not the same as the embedded target's configuration, hence the name cross-compilation.

Without Scratchbox 2, one has to manually set many parameters and "hack" the "configure process" to generate working executable code for the embedded target.

Scratchbox 2 allows one to set up a "virtual" environment that will trick Autotools and other executables into thinking that they are directly running on the embedded target with its configuration.

Moreover, Scratchbox 2 provides a technology called CPU-transparency that goes further: With CPU-transparency, executables built for the host CPU or for the target CPU could be executed directly on the host with sb2 handling the task to emulate a different CPU-architecture if necessary to run software components compiled for the target CPU. Hence a build process can mix using programs built for different CPU-architectures. That is especially useful when a build process requires to build a software component first as a build dependency for building another software component: For example, a "Lexer" must be built first in order to generate code for / of another software component with it.

Projects using Scratchbox 2

Historic Git repositories of Scratchbox 2

  • BinChengfei/scratchbox2 at GitHub provides an unaltered mirror of the former Scratchbox 2 Git repository at Gitorious with its latest Git tag being 2.3.90 on 2012-09-05.
  • lbt/scratchbox2 (up to tag pkg-mer-2.3.90-4 on 2013-04-25) and mer-packages/scratchbox2 (up to tag 2.3.90-git2 on 2014-03-05), both at GitHub, show intermediate states before the Nemo / Mer merger, when Scratchbox 2's active source tree was moved to the now dissolved git.merproject.org.
  • The continuation of the former source code repository git.merproject.org/mer-core/scratchbox2 is sailfishos/scratchbox2 at GitHub, which contains all commit history and Git tags of all aforementioned Git repositories.

References

  1. ^ "Scratchbox 2.2.4". Scratchbox 2 (sb2). 2012-04-01. Retrieved 2023-01-27.
  2. ^ "Scratchbox 2.3.90". Scratchbox 2 (sb2). 2012-09-05. Retrieved 2023-01-27.
  3. ^ "LGPL-2.1 license". Scratchbox 2. 2013-09-05. Retrieved 2024-02-26.

External links

  • Scratchbox 2 documentation
  • Archive of the original Scratchbox 2 website
  • v
  • t
  • e
Linux
Linux Kernel
GNU/Linux
XNUQNXMicrosoft
WindowsZircon
  • Fuchsia
FreeBSD/NetBSDOpenHarmony/HarmonyOS NEXT
FreeRTOS
  • Amazfit OS
    • Zepp OS
  • MIUI Band OS
Nintendo system softwareMinix 3Other
  •  Mobile operating systems
  • Mobile applications
  •  Telecommunication
  • Software
  • v
  • t
  • e
Mobile
networks,
protocols
Generations
General
operation
Mobile
devices
Form factors
Smartphones
Mobile
specific
software
Apps
Commerce
Content
Culture
Environment
and health
Law
  • Telecommunication portal
  • telephone icon Telephones portal
  •  Category
  • v
  • t
  • e
Linux kernel
Controversies
Distributions
Organizations
Adoption
Media
Professional related certifications
  • icon Linux portal
  • Free and open-source software portal
  • Category